Normally, we pre-fill wifi and password information in the wifi module MT7688 code, but this method can only be common for on-site testing purposes. And when common in practice, it is very inconvenient. For example, when you bring your circuit to show to your friends or when you do a project.
And bring it to school to report, do you have to take out your laptop and reload the code?
In this article, I will show you a few methods to transmit wifi information to esp8266 without reloading the code, that is using Wifi AP mode (access point).
Specifically, ESP will emit 1 wifi module MT7688for the phone to connect to and transmit wifi information down to esp8266 via HTTP protocol.
At this point, both the client and the server are confirmed that a connection has been established.
Some basic characteristics of TCP to distinguish it from UDP:
In the first two of the three handshakes, the two computers exchange an Initial Sequence Number (ISN). This number can be chosen at random. This sequence number is common to mark the blocks of data sent from each computer. After each byte is transmitted, the number is incremented.
This way we can rearrange them when they arrive at the other computer regardless of the order in which the packets arrive.
In theory, data transfer with the wifi module MT7688 each byte sent has a sequence number, and when received, the receiving computer sends back an acknowledgment (ACK). In practice, only the first data byte assigns a sequence number in the sequence number field of the packet. And the receiver sends an acknowledgment by sending the sequence number of the pending byte.
For example, Computer A sends 4 bytes with the initial sequence number 100 (in theory, 4 bytes will have the order of 100, 101, 102, 103), then the receiver will send an acknowledgment message with content 104 because that's the order of the next byte it needs.
By sending an acknowledgment of 104, the receiver has implicitly informed that it has received bytes 100, 101, 102, and 103. In case the last two bytes are faulty, the receiver will send an acknowledgment with the content of 102 because 2 bytes 100 and 101 have receive successfully.
wifi module MT7688: If the lost packet was the first, the sender would have to resend all 10 packets because there's no way for the receiver to notify it of receiving the other nine. This problem solves in the SCTP (Stream Control Transmission Protocol) protocol with the addition of selective acknowledgment.
End connection
To terminate the connection two parties use a 4-way handshake and the direction of the connection terminates independently of each other. When one side wants to terminate, it sends a FIN packet and the other side sends back an ACK. Therefore, a typical termination process will have two pairs of packets exchanged.
A connection can exist as "semi-open": one party has finished sending data, so it only receives information, the other continues to send.
Destination port: The port number at the receiving computer.
Sequence number This field has 2 tasks. If the SYN flag is on, it is the initial packet sequence number and the first byte sent has this sequence number plus 1. If the SYN flag is not present, this is the sequence number of the first byte.
If the ACK flag is on, the value of the field is the sequence number of the next packet the receiver needs.
Data offset A 4-bit field that specifies the length of the header (in 32-bit word units). The header has a minimum length of 5 words (160 bits) and a maximum length of 15 words (480 bits).
Reserved For the future and has a value of 0
Window Number of bytes that receive starting from the value of the Acknowledgment (ACK) field
Checksum: 16 bits check for the whole TCP packet and part of the IP packet
If the URG flag is on, the value of this field is the number of 16-bit words that the packet sequence number (sequence number) needs to shift left.
Options This is an options field. If so, the length is a multiple of 32 bits.
When the ESP starts, it will try to connect to the wifi module MT7688previously connects, if it fails. It will emit wifi named AutoConnectAP
We just need to take out the phone and connect to the AutoConnectAP wifi, a window will pop up and you just need to select the home wifi and enter the password.
Conclusion
With this project, it is possible to be successful in several applications where it is necessary to collect remote data and transmit it to a receiver and save it somewhere or send it to the internet.
WiFi module MT7688 is a technology that came to solve long-distance communication problems, in addition to solving this problem, it also has low consumption, low implementation and maintenance costs, and simple implementation in some cases.
Copyrights© Shenzhen Skylab Co.,LTD All Rights Reserved.