LinxVIEW论坛-斯科道
标题: ESP8266编程资源荟萃 [打印本页]
作者: Scadao 时间: 2019-10-16 12:06
标题: ESP8266编程资源荟萃
ESP8266官方支持的VI库
作者: Scadao 时间: 2019-10-16 12:20
泰国LabVIEW极客分享的开源ESP8266 VI库
编译器官网PWS板说明
其VI库与官方推荐的PWS板件兼容!
作者: Scadao 时间: 2019-10-17 02:31
编译器官方出品的PWS板入门指南
-
-
Programmable-Wireless-Stamp-PWS-Getting-Started.pdf
1.79 MB, 下载次数: 6
作者: Scadao 时间: 2019-10-20 01:39
WeMos D1板Arduino板级支持包下载链接:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
作者: Scadao 时间: 2019-10-20 01:48
WeMos D1串口驱动与资料官网:
https://wiki.wemos.cc/products:d1:d1
作者: Scadao 时间: 2019-10-26 20:43
泰国LabVIEW极客针对含ESP8266板子PWS的相关VI库,可通过下面选项设置通过Arduino IDE来下载板级支持包:
https://raw.githubusercontent.com/QWaveSystems/PWS/master/package/versions/package_qwavesyspws_index.json
作者: Scadao 时间: 2019-10-26 21:21
美国编译器官方制造的PWS板子,VIPM支持的VI库链接:
vipm://qwavesystems_tsxperts_programmable_wireless_stamp_(pws)_home_student
或
vipm://qwavesystems_tsxperts_programmable_wireless_stamp_(pws)_standard
作者: Scadao 时间: 2019-10-26 21:40
PWS板件使用用户指南:
https://tsxperts.com/wp-content/uploads/2014/03/Programmable-Wireless-Stamp-PWS-Specifications.pdf
-
-
Programmable-Wireless-Stamp-PWS-Specifications.pdf
1.9 MB, 下载次数: 3
作者: Scadao 时间: 2019-10-26 22:00
本帖最后由 Scadao 于 2019-10-27 22:29 编辑
WeMos D1板原理图和ESP8266规格书见附件
-
-
esp8266ex技术规格书.pdf
983.99 KB, 下载次数: 4
-
-
d1_v2.0.0原理图.pdf
53.3 KB, 下载次数: 5
作者: Scadao 时间: 2019-10-26 23:33
本帖最后由 Scadao 于 2019-10-29 10:28 编辑
WeMos D1 GPIO引脚定义
WeMos D1的外形与Arduino Uno很相似,但由于集成了ESP8266,因此引脚的定义相比Arduino也略有差异。
引脚
WeMos D1包含:
数字IO引脚11个。除了D0引脚外,其余引脚均支持pwm、I2C、中断、单总线。
模拟输入引脚1个(最大支持3.3v输入)。
可以看出,虽然外形与Arduino Uno很相似,但模拟引脚仅有1个。数字引脚(包括RX,TX)共有11个,不过其中10个引脚支持pwm、I2C、中断、单总线让人有点小吃惊。
需要注意的一点是:WeMos D1上数字引脚的一侧引脚数量远大于11个,这是因为该板上D3与D15、D4与D14、D5与D13、D6与D12、D7与D11、D9与板载LED 它们两两之间是互通的。
具体引脚的定义可以参考我整理的引脚定义库。
引脚定义库
/*
Name: pins_wemos_d1.h
Created: 11/26/2017 11:36:44 AM
Author: Landriesnidis
--------------------------------------
Pin definition functions for WeMos D1
*/
#ifndef Pins_WeMos_D1_h
#define Pins_WeMos_D1_h
static const uint8_t PIN_D0 = 3; //RX
static const uint8_t PIN_D1 = 1; //TX
static const uint8_t PIN_D2 = 16;
static const uint8_t PIN_D3_D15 = 5; //SCL
static const uint8_t PIN_D4_D14 = 4; //SDA
static const uint8_t PIN_D5_D13 = 14; //SCK
static const uint8_t PIN_D6_D12 = 12; //MISO
static const uint8_t PIN_D7_D11 = 13; //MOSI
static const uint8_t PIN_D8 = 0;
static const uint8_t PIN_D9_LED = 2; //LED
static const uint8_t PIN_D10 = 15; //SS
static const uint8_t PIN_A0 = 17;
static const uint8_t PIN_RX = 3;
static const uint8_t PIN_TX = 1;
static const uint8_t PIN_SCL = 5;
static const uint8_t PIN_SDA = 4;
static const uint8_t PIN_SCK = 114;
static const uint8_t PIN_MISO = 12;
static const uint8_t PIN_MOSI = 13;
static const uint8_t PIN_SS = 15;
static const uint8_t PIN_LED = 2;
#endif /* Pins_WeMos_D1_h */
实物图为确保不出乌龙,附上我的WeMos D1照片:
作者: Scadao 时间: 2019-10-26 23:44
本帖最后由 Scadao 于 2019-10-29 10:54 编辑
WeMos D1引脚对应Arduino规范
作者: Scadao 时间: 2019-10-27 20:31
PWS板帮助文档:
作者: ywqs 时间: 2019-10-27 21:35
温老师!请教一下!我安装PWS,但是没有例子,编辑枚举时,无法修改这个引脚的枚举值。
作者: ywqs 时间: 2019-10-27 21:36
温老师!请教一下!我安装PWS,但是没有例子,编辑枚举时,无法修改这个引脚的枚举值。
作者: Scadao 时间: 2019-10-27 22:06
本帖最后由 Scadao 于 2019-10-27 22:07 编辑
选择第一个环形文本控件:
作者: ywqs 时间: 2019-10-27 22:22
谢谢!OK了。
作者: Scadao 时间: 2019-10-27 22:45
ESP8266技术参考122页
作者: Scadao 时间: 2019-10-27 22:48
ESP8266常见问题
-
-
ESP8266常见问题.pdf
1.5 MB, 下载次数: 2
作者: Scadao 时间: 2019-10-28 23:44
ESP8266 arduino 内核文档链接:
https://arduino-esp8266.readthedocs.io/en/2.5.2/
ESP8266 Arduino 内核封装库即板级支持包下载链接:
https://github.com/esp8266/Arduino
作者: Scadao 时间: 2019-10-29 00:20
数字引脚对应编程见附件VI,截图如下——
有必要说明下PWM输出是软件实现的,非硬核PWM输出,D0~D16均可实现,内核文档说明如下:
Analog output¶analogWrite(pin, value) enables software PWM on the given pin. PWMmay be used on pins 0 to 16. Call analogWrite(pin, 0) to disable PWMon the pin. value may be in range from 0 to PWMRANGE, which isequal to 1023 by default. PWM range may be changed by callinganalogWriteRange(new_range).
PWM frequency is 1kHz by default. CallanalogWriteFreq(new_frequency) to change the frequency. Valid valuesare from 100Hz up to 40000Hz.
The ESP doesn’t have hardware PWM, so the implementation is by software.With one PWM output at 40KHz, the CPU is already rather loaded. The morePWM outputs used, and the higher their frequency, the closer you get tothe CPU limits, and the less CPU cycles are available for sketch execution.
-
-
数字引脚对应.rar
3.61 KB, 下载次数: 4
作者: Scadao 时间: 2019-10-29 10:00
本驱动程序针对Windows10 64位安装成功!
-
-
WeMos D1串口驱动程序.rar
225.27 KB, 下载次数: 5
作者: Scadao 时间: 2019-10-29 10:58
本主题帖子前面主要罗列的是WeMos D1 R1板相关信息,针对R2版,图示如下:
作者: Scadao 时间: 2019-11-12 20:48
ESP8266用Arduino IDE通过贝壳物联接入天猫,可以小程序,和语音控制
ESP8266(nodeMCU固件)连接WiFi,并登录贝壳物联服务器
远程控制通讯——基于NodeMCU固件的ESP8266控制LED灯并返回控制结果
作者: Scadao 时间: 2019-11-12 21:04
使用smartconfig配置WIFI,连接物联网
#include <ESP8266WiFi.h>
WiFiClient client;
#define relay1 2
#define key 5//将dht11的data口接在8266的GPIO2上
const char *ssid = "Charlie Testing AP";
const char *password = "11111111";
const char *host = "121.42.180.30";
char flag=0;
bool autoConfig()
{
int a=0;
pinMode(key,INPUT);
if(digitalRead(key) == LOW)
flag=1;
else
flag=0;
while(!digitalRead(key));
if(flag==1)
{
return false;
}
else
{
WiFi.begin();
while (WiFi.status() != WL_CONNECTED)
{
Serial.println("AutoConfig Success");
Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
WiFi.printDiag(Serial);
delay(1000);
a++;
if(a==30)
{
a=0;
return false;
break;
}
}
if(false)
{
Serial.println("");
Serial.println("wifi line faild !");
}
else
{
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
return true;
}
}
}
void smartConfig()
{
WiFi.mode(WIFI_STA);
Serial.println("\r\nWait for Smartconfig");
WiFi.beginSmartConfig();
while (1)
{
Serial.print("Wait soft line..\r\n");
if (WiFi.smartConfigDone())
{
Serial.println("SmartConfig Success");
Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
WiFi.setAutoConnect(true); // 设置自动连接
break;
}
delay(1000);
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void line_tcp()
{
Serial.println(WiFi.localIP());
const int httpPort =8181;
if (!client.connect(host, httpPort))
{
Serial.println("connection failed");
return;
}
Serial.print("connecting to ");
Serial.println(host);
client.write("{\"M\":\"checkin\",\"ID\":\"****\",\"K\":\"**********\"}\r\n");//登陆设备,修改成自己的ID和key
delay(100);
}
void setup()
{
Serial.begin(115200);
if (!autoConfig())
{
Serial.println("Start AP mode");
smartConfig();
}
line_tcp();
}
void loop()
{
char valueread;
while(client.available())
{
String line = client.readStringUntil('\r');
Serial.print(line);
int i;
for(i=0;i<=150;i++)
{
if((line=='p') &&( line[i+1]=='l'))
{
digitalWrite(relay1,HIGH);
client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is on\",\"SIGN\":\"ok\"}\r\n");
}
if((line=='s') && (line[i+1]=='t'))
{
digitalWrite(relay1,LOW);
client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is off\",\"SIGN\":\"ok\"}\r\n");
}
}
}
client.write("{\"M\":\"say\",\"ID\":\"****\",\"C\":\"123456\"}\r\n");//修改自己的ID,向设备发送信息,防止掉线
delay(6000);
}
作者: Scadao 时间: 2019-11-12 21:25
贝壳物联通讯协议TCP连接测试教程
作者: Scadao 时间: 2019-11-15 23:13
Portable式安装指南
作者: Scadao 时间: 2019-11-16 00:51
本帖最后由 Scadao 于 2019-11-16 00:55 编辑
PWS的板级安装包网络连线安装不成功:因arduino.esp8266.com中的内容已移向其他地,所以人工下载win32-xtensa-lx106-elf-gb404fb9-2.tar.gzhttps://github.com/esp8266/Arduino/releases/download/2.3.0/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz
最后将其拷贝到路径:..\Arduino15\staging\packages\
作者: Scadao 时间: 2019-11-16 01:01
Arduino ESP8266内核安装说明文档中心
作者: Scadao 时间: 2019-11-16 06:59
ESP8266其SD卡读写操作编译和DS1307时钟设置均编译成功——
作者: ywqs 时间: 2019-11-16 11:09
温老师好!下载后直接拷贝就行了吗?
作者: Scadao 时间: 2019-11-16 13:01
你要确保其它均已下载完毕,到这压缩包下载卡住了,才通过上文链接下载拷贝!
作者: ywqs 时间: 2019-11-16 17:58
这个I2C的引脚有点乱,使用ESP8266的支持包时,引脚(I2C)为GPIO4/SDA,GPIO5/SCL. 直接用PWS库时,GPIO2/SDA,GPIO14/SCK. 好像有点易混淆。
作者: Scadao 时间: 2019-11-16 20:09
ESP8266的I2C是模拟的,这个可不用太过纠结!PWS的引脚使用更吻合官方文档——
作者: ywqs 时间: 2019-11-16 21:10
嗯!但是使用官方库,好像不能同时使用SPI和I2C,时钟引脚相同。
作者: Scadao 时间: 2019-11-16 21:34
本帖最后由 Scadao 于 2019-11-16 21:36 编辑
是的!没错!如果需要更多功能,可能需要ESP32芯片选用。
作者: Scadao 时间: 2019-11-17 23:08
访问DS3231和DS1307芯片的地址一样:都是0x68
WiFi Init.vi编译下载经验证,封装的库有错误!!
Arduino IDE 1.6.5文本编译下载control4.ino成功!并通过贝壳物联小程序控制成功!
(必须拷贝aJson文件夹到Arduino IDE 1.6.5安装路径libraries文件夹)
-
-
WiFi_Test.rar
22.47 KB, 下载次数: 0
作者: Scadao 时间: 2019-11-17 23:33
如下DS1307时钟程序运行出错!
欢迎光临 LinxVIEW论坛-斯科道 (http://iiotview.com/) |
Powered by Discuz! X3.2 |