I have an Adafruit Huzzah Breakout module which I have used to create an electricity meter data logger. The Huzzah uses an ESP-12 module with a PCB pattern antenna for its WiFi functionality.
The logger is connected in the electricity meter box on the pole holding the incoming electricity wires. The distance to the cottage is 22 m and when I installed it it seemed to work fine, but then it turned out to have problems keeping WiFi connected.
Now I have added code to publish the signal level and I can see that it sits at about -92 to -95 dB, which is very weak...
So I wonder if there is some way to improve the sensitivity of this device except by replacing it with something having an external antenna connector (such as ESP-07S)?
Is there a preferred direction for the WiFi router on the ESP-12?
The antenna is possibly only one part of the problem. Does your home WiFi signal goes all the way there ?
if you hold up your phone at the same location, do you have a strong WiFi signal?
These can be notoriously bad, they can have low gain and be very inefficient. Also the directivity pattern can mean that the node you are trying to communicate with is in a null. Ideally you should run a short coax to a higher quality external antenna. And of course the antenna on your router could be equally poor...
Well, I am building a new board now using an ESP-07S, which has a coax connector for the antenna and no built-in antenna.
But it is tedious because of all the extras, which were already on the Huzzah breakout board.
Anyway I have made a coax antenna using this instruction.
It improves my breadboard signal (on an ESP-07, which has a ceramic antenna on board) from -62 to -54 dB on my workbench at home. I believe that an 8-10 dB improvement will be all I need...
Possibly less even.
As it is now it comes on-line sporadically so I have gotten 8-10 reports a day from it rather than the once per minute I expected (and which I got for the first time after installing it).
You should get the antenna sold separately. Also a ESP-07 is one on one replaceable of the esp-12, you could consider unsoldering the ESP-12 from the huzzah board.
Another option would be to cut the trace on the ESP-12 pcb and solder an external antenna onto it through a (Grounded) coax lead.
My WiFi speed is still slow as I'm paying for a package of up to 30Mbps and receiving speeds only of 2 or 3Mbps. Moreover, there's no any issue with the internet service provider (ISP). I also tried to reach that company whom I'm paying for their services but couldn't found any way to fix this issue. Therefore, I got here https://www.arduino.cc/ to get help or suggestion. Can anyone recommend me any solution for this problem?
Seems like that question is OT here...
The thread does not deal with WiFi speed at all, it is about WiFi signal strength and how to improve sensitivity of WiFi reception by the ESP8266 device...
Illogical. WIFI is Ethernet over RF and is only for a local network in your house or location. Usually controlled by a router, but not necessarily. You do not pay for it's use. Are you confusing your local network with access to the internet using an ISP, an internet service provider?
UPDATE:
This week I have built a new logging device based on an ESP-07S instead of the Huzzah I used and asked about here.
This new device uses an external antenna, which I manufactured (see the link in post #5 above) from a WiFi coaxial cable by exposing 29 mm of the inner part while pulling the shield back over the cable. Then I also drilled a 3 mm hole in the Electricity Meter box through which I could extract the end of the antenna cable.
The ESP-07S based device was inside the box and connected via RJ12 cable to the meter.
With this in place I now have a signal level measured by the sketch itself and reported via MQTT of about -77 to -79 dB in contrast to the -94 dB I got on the Huzzah ESP-12 based board!
This makes for a very stable connection going forward.
Well done! Just goes to show how awful integrated antennas can be. A particular problem with 802.11n devices that have MIMO to get high speed using multiple antennas then throw away all the benefits by fitting lousy antennas.
I had big troubles getting stable connections until I added this into my SetupWiFi() function:
WiFi.mode(WIFI_STA);
WiFi.setPhyMode(WIFI_PHY_MODE_11G); // <== IMPORTANT to get stable connections!!!!
WiFi.hostname(MyHostname);
WiFi.begin(MySSID, MyPasswd);
With this in place the connections are rock solid every time...