Onboard ultra-low cost ESP8266EX WIFI module - LinkNode D1 evaluation
"Preface
Not long ago, Aiban received and evaluated the ble Bluetooth development board from linkspring, which is an evaluation board for the development of the Internet of things and uses Bluetooth interconnection technology. In 1999, Kevin Ashton first proposed the term Internet of things (IOT). At that time, Ashton was P & G and began to introduce RFID to manage P & G's supply chain. After more than ten years of development, Internet of things technology has been relatively mature. Products and solutions based on wireless communication are in full bloom and are gradually entering the public's attention. In the field of IOT, BT, WiFi and ZigBee technologies are the most widely used and popular. These three technologies have their own advantages and are applicable to different fields and application scenarios. They have become the most popular communication protocol for wireless communication of the Internet of things.
Linknode D1 is another Internet of things development evaluation board launched by linksprite. It uses WiFi technology, onboard esp8266ex module, and provides Arduino compatible interface. Using the source code provided by the open source community, you can easily access esp8266ex in Arduino ide.
Unpack
Open the express packing box and see a small packing box. The design of the packing box is simple, with linkspring logo and text logo on the front. The self-adhesive sticker lists the product model, number and other information. Of course, the most important thing is that there is a wiki page supporting the product, which can quickly get started and immediately experience the features and functions of the product. The overall feeling of packaging is: eye-catching, concise and practical.
Figure 1: packing box, eye-catching, concise and practical
When the packing box is opened, linknode D1 comes into view. The whole PCB substrate is covered with white ink, with clear silk screen printing, which makes the overall feeling more comfortable. Linknode D1 has a small number of components on the whole development board, which is very loose, mainly due to the highly integrated characteristics of esp8266 module. Arduino compatible interfaces are distributed on both sides of the development board. In addition, there is a DC power interface, which can be externally connected to 9-24v external DC power supply. Micro USB interface can also supply power, and also has UART communication function.
Figure 2: on the front of the development board, there are USB and DC interfaces. Arduino compatible interfaces must be indispensable
Figure 3: esp8266 module, highly integrated multifunctional module
resources
The linknode D1 development board mainly contains the following resources
Esp-8266ex module
11 Digital interfaces
1 Analog Interface
1 micro USB interface for power supply or communication
9-24v DC external power supply interface
Esp8266ex is a highly integrated WiFi chip launched by Lexin. Esp8266ex is highly integrated with antenna switch, RF balun, power amplifier, low-noise amplifier, filter and power management module, requiring only a few peripheral circuits. The whole solution, including the front-end module, can minimize the PCB space. This is also the main reason why there are so few devices on linknode D1.
Esp8266ex built-in Tensilica l106, 32-bit microcontroller (MCU), with ultra-low power consumption and 16 bit RSIC. CPU clock speeds up to 80 MHz and up to 160 MHz. Support real-time operating system (RTOS). At present, only about 20% of the Wi Fi protocol stack is used, and the rest can be used for user programming and development. Esp8266ex is designed for mobile devices, wearable electronics and Internet of things applications, and achieves the lowest power consumption through a number of proprietary technologies. The esp8266ex has three power saving modes: active mode, sleep mode and deep sleep mode. The operating temperature range is - 40 ° C to + 125 ° C.
At present, esp8266 is widely used in intelligent lamps, intelligent switches and other application scenarios.
Power on
Linknode D1 provides an Arduino compatible interface. At the same time, community enthusiasts have also integrated the SDK of esp8266 into the Arduino ide. You can develop esp8266 programs in the Arduino ide. How excited are you to hear this news for 3 seconds? Uh, no excitement? You must be a top expert. Please pass by!
First install the Arduino IDE, download and install it from the list given in the appendix, and install the BSP support module of esp8266ex. In this way, I won't repeat it.
Next, send a letter to get familiar with the development board. If you are not familiar with Arduino IDE, take this opportunity to get familiar with it.
The esp8266 is equipped with a UART communication device, which is led out to the USB interface through the ch340g on linknode D1, so that the onboard micro USB interface has the functions of power supply and UART communication at the same time. In the code, you can communicate with PC by simply configuring the communication parameters.
Figure 5: esp8266 peripheral pin
The test code is as follows
void setup() {
// put your setup code here, to run once:
pinMode(BUILTIN_ LED, OUTPUT);
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly/
digitalWrite(BUILTIN_ LED, HIGH);
delay(500);
digitalWrite(BUILTIN_ LED, LOW);
delay(500);
Serial.println(""Hello, LINK D1"");
}
Compile and download the above code to the development board. The indicator light on linknode D1 starts to flash at the frequency of 1Hz, and the terminal window will display the message from the development board.
Figure 4: UART communication test
WIFI
Esp8266ex is essentially a WiFi module, and the key point is to use and experience WiFi functions.
Esp8266ex module integrates MCU module inside and a series of peripheral modules. Its functional block diagram is as follows
Figure 5: functional block diagram of esp8266ex
Esp8266ex main parameters
802.11 b/g/n
Integrated low power 32-bit MCU
Integrated 10-bit ADC
Integrated TCP/IP protocol stack
Integrated TR switch, balun, LNA, power amplifier and matching network
Integrated PLL, regulators, and power management units
Supports antenna diversity
WiFi 2.4 GHz, support WPA/WPA2
Support STA/AP/STA+AP operation modes
Support Smart Link Function for both Android and iOS devices
SDIO 2.0, (H) SPI, UART, I2C, I2S, IR Remote Control, PWM, GPIO
STBC, 1x1 MIMO, 2x1 MIMO
MPDU & A-MSDU aggregation & 0.4sguard interval
Deep sleep power <10uA, Power down leakage current < 5uA
Wake up and transmit packets in < 2ms
Standby power consumption of < 1.0mW (DTIM3)
+20 dBm output power in 802.11b mode
Operating temperature range -40C ~ 125C
FCC, CE, TELEC, WiFi Alliance, and SRRC certified
The esp8266ex module can be configured as either workstation mode, AP mode or a combination of the two. Esp8266ex works in 2.4G band and supports WPA / WPA2 encryption.
AP mode
The following code configures linknode D1 to AP working mode, and SSID, password, etc. may be configured through web configuration.
#include // https://github.com/esp8266/Arduino
//needed for library
#include
#include
#include // https://github.com/tzapu/WiFiManager
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
// WiFiManager
// Local intialization. Once its business is done, there is no need to keep it around
WiFiManager wifiManager;
// reset saved settings
// wifiManager.resetSettings();
// set custom ip for portal
wifiManager.setAPStaticIPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0));
// fetches ssid and pass from eeprom and tries to connect
// if it does not connect it starts an access point with the specified name
// here "" AutoConnectAP""
// and goes into a blocking loop awaiting configuration
wifiManager.autoConnect(""LinkNodeAP"");
// or use this for auto generated name ESP + ChipID
// wifiManager.autoConnect();
// if you get here you have connected to the WiFi
Serial.println(""connected... :)"");
}
void loop() {
// put your main code here, to run repeatedly:
}
After compiling and downloading to the development board, you can connect through your mobile phone and log in to the AP to view relevant information.
Figure 6: connecting to linknode AP
Figure 7: web configuration interface
Figure 8: basic information about AP
According to the actual use test, linknode D1 can realize the basic functions of AP, but the functions are relatively simple and far from the real AP. After all, devices such as openwrt are supported by Linux, and the richness of functions is different.
Fortunately, the positioning of linknode D1 is not an AP. It is just collecting and transmitting information.
LINKSPRITE IO
Linkspring IO is an Internet of things platform. With this platform, we can register our own network nodes on the platform and control the work of these nodes through mobile devices. First, register a user name on the linkspring IO website, register and log in. Then create your own device results. This test uses the LED lights on linknode D1 to remotely control the on and off of the LED lights.
Figure 9: registering a device node
Note that there are two places, one is apikey and the other is deviceid. These two values vary with the registration information. Spritelink IO uses this value internally to distinguish different network node devices. Communication packets are encapsulated in JSON format. JSON packet information is extracted through analysis to control IO status. The following is the test code. Pay attention to replacing it with your own ID and key
#include
#include
//the library are needed for autoconfig WiFi
#include
#include
#include
Our other product: