nodemcu

使用Lora模块SX1278实现两块ESP8266之间的无线通讯

假如想象 提交于 2021-02-14 16:57:15
在过去的几年中,有许多通信技术可用于物联网设备之间的交互连接。在这些技术中,最受欢迎的是Wi-Fi技术和蓝牙模块。但是它们有一些局限性,例如通讯距离限制、接入点数量有限和高功耗。因此,Semtech引入了LoRa技术来解决所有这些问题。使用单节电池,该设备可以运行一年。 在本篇文章中,我们将使用LoRa模块SX1278与NodeMCU ESP8266开发板分别制作一个发射器和接收器电路。然后在0.96英寸I2C OLED显示屏上显示传输的参数。我们将以两个示例学习Lora SX1278和ESP8266通讯。首先,发射器将发送一个简单的数据包,然后检查在接收器是否已接收到数据。第二个示例中,我们将DHT11湿度和温度传感器添加到发送器电路中,并将湿度温度值无线发送到接收器。 所需的组件 以下是制作本文所需的组件 ● Nodemcu ESP8266开发板 ● LoRa SX1278模块 ● DHT11传感器 ● 0.96英寸OLED显示屏 ● 连接导线 ● 面包板 Semtech SX1278 LoRa模块 SX1276 / 77/78/79收发器具有LoRa远程调制解调器,可提供超长距离扩频通信和高抗干扰性,同时将电流消耗降至最低。 使用低成本晶振,SX1278可以实现-148dBm以上的灵敏度。高灵敏度与集成的+ 20dBm功率放大器相结合,产生了业界领先的链路预算

在 ESP32-S2 上试用 circuitpython

南笙酒味 提交于 2021-02-13 18:52:50
ESP32-S2 是乐鑫去年推出的 SOC,它可以看作是 ESP32 的低成本简化改进版本,在保持了 ESP32 的主要特点下,去掉了以太网、BLE、CAN、霍尔传感器等功能,但是增加了 USB OTG、摄像头接口、LCD接口 和 更多GPIO,进一步降低了成本,更加适合做通用控制。 ESP8266、ESP32 和 ESP32-S2 对比 (来自:https://maker.pro/esp8266/tutorial/a-comparison-of-the-new-esp32-s2-to-the-esp32) - ESP8266 ESP32 ESP32-S2 发布时间 2014 2016 2019 内核 Xtensa single-core 32-bit L106 Xtensa single/dual-core 32-bit LX6 Xtensa single-core 32-bit LX7 主频 80 MHz 160/240 MHz 240 MHz 协处理器 No ULP ULP (RISC-V) SRAM 160 KB 520 KB 320 KB ROM No 448 KB 128 KB RTC Memory No 16 KB 16 KB 扩展SPIRAM Up to 16MB Up to 16MB Up to 128MB 扩展 Flash No No Up to 1G Wi

ESP8266-Arduino杀手?

寵の児 提交于 2021-02-12 04:47:11
Arduino之所以流行可能是因为它的学习曲线比较平缓,另外是支持它的第三方程序库非常多,无论在什么平台上都比较容易入门。多年前我曾和一些搞嵌入开发多年的朋友请教,他们更建议我多点尝试STM的开发,Arduino只能在实验室中玩玩很难产品化的,主要原因是由于芯片生产授权和Arduino嵌入到产品时很多时候都需要添加外围电路而导致生产成本很高。而对于我这种一直从事高级语言开发的人确在很难回退到STM那种让人难受的面向过程式编程方式,而鱼与熊掌是否真能兼得? 后来玩了IoT好几年了大多数时间都耗在搞4轴上,通信方式一直也就用着2.4G (nrf2401),以前一直认为这是一种最廉价的组合,用Arduino 做一个应用也是手到拈来。然,当我无意地发现被我扔到角落上的ESP8266时,我在IoT中形成的世界观彻底地改变了,因为终于找到了比Arduino 和STM更好的板子和开发方法。鱼与熊掌真能兼得! 以下是ESP8266的开发板,是用ESP12E的 NodeMCU ESP8266的特点: 用于快速原型的开发板,售价也就在10人民币左右 (Arudino + WIFI 可不止这个数) ESP8266系列是中国公司生产的,在芯片授权上要比Arduino容易多了 完全兼容Arduino上的库(绝大多数都兼容),这样可以将Arduino上的很多开发经验平滑过渡其上 提供硬件的高级接口

ESP8266 crashes after simple http request

狂风中的少年 提交于 2021-02-08 11:35:53
问题 I am working with the NodeMCU V3 module. Whenever I try to make an http request to my server, the module crashes. Here's the code: void setup() { WiFi.begin("wifi-name", "wifi-password"); while (WiFi.status() != WL_CONNECTED) { //Wait for the WiFI to connect } } void loop() { HTTPClient http; WiFiClient client; http.begin( client, "server-address" ); int httpCode = http.GET(); String payload = http.getString(); //Get the response payload Serial.println(httpCode); //Print HTTP return code

ESP8266 crashes after simple http request

主宰稳场 提交于 2021-02-08 11:35:07
问题 I am working with the NodeMCU V3 module. Whenever I try to make an http request to my server, the module crashes. Here's the code: void setup() { WiFi.begin("wifi-name", "wifi-password"); while (WiFi.status() != WL_CONNECTED) { //Wait for the WiFI to connect } } void loop() { HTTPClient http; WiFiClient client; http.begin( client, "server-address" ); int httpCode = http.GET(); String payload = http.getString(); //Get the response payload Serial.println(httpCode); //Print HTTP return code

Take json string from ESP8266WiFi, and save it as a string variable in NodeJS to write a CSV file

余生颓废 提交于 2021-01-29 09:02:24
问题 I want to take a JSON string of DHT22 sensor value (temperature and humidity) from this ESP8266WiFi through WiFi. #include <DHT.h> //library DHT.h #include <ESP8266WiFi.h> #define DHTPIN 14 // GPIO14 #define DHTTYPE DHT22 // DHT 22 (AM2302) DHT dht(DHTPIN, DHTTYPE, 15); const char* ssid = "myhotspot"; const char* password = "mypassword"; WiFiServer server(80); void setup() { Serial.begin(115200); dht.begin(); Serial.println(); Serial.print("Wifi connecting to "); Serial.println( ssid ); WiFi

Find substring between specific characters

安稳与你 提交于 2021-01-28 21:59:11
问题 I am unfamiliar with Lua language and a I would like your help. I am trying to receive some values through POST and the values is something like that: pwd = password ssid = ssid_name swstat={string.find(payload,"pwd=")} swstat1={string.find(payload,"ssid=")} if swstat[2]~=nil then pass=string.sub(payload,swstat[2]+1,#payload) ssid=string.sub(payload,swstat1[2]+1,#payload) print("Password: "..pass) print("SSID: "..ssid) end The actual result of the above code is ( am sending through a web

Find substring between specific characters

被刻印的时光 ゝ 提交于 2021-01-28 21:39:29
问题 I am unfamiliar with Lua language and a I would like your help. I am trying to receive some values through POST and the values is something like that: pwd = password ssid = ssid_name swstat={string.find(payload,"pwd=")} swstat1={string.find(payload,"ssid=")} if swstat[2]~=nil then pass=string.sub(payload,swstat[2]+1,#payload) ssid=string.sub(payload,swstat1[2]+1,#payload) print("Password: "..pass) print("SSID: "..ssid) end The actual result of the above code is ( am sending through a web

ESP8266 + MQTT :如何实现 LED 灯的远程控制

99封情书 提交于 2021-01-17 03:38:49
MQTT 是轻量级的、灵活的物联网消息交换和数据传递协议,致力于为 IoT 开发人员实现灵活性与硬件/网络资源的平衡。 NodeMCU 是一个开源的物联网平台。它使用 Lua 语言编程。该平台基于eLua开源项目,底层使用ESP8266 sdk 0.9.5版本。 在此项目中我们将实现 NodeMCU(ESP8266) 与 EMQ X Cloud 运营和维护的免费公共 MQTT 服务器远程控制 LED 灯,并使用 Arduino IDE 来对 NodeMCU ESP8266 进行编程。 EMQ X Cloud 是由 EMQ 推出的安全的 MQTT 物联网云服务平台 ,它提供一站式运维代管、独有隔离环境的 MQTT 5.0 接入服务。 所需组件 NodeMCU Arduino IDE LED * 1,330 Ω 电阻 MQTT X : 优雅的跨平台 MQTT 5.0 客户端工具 免费的公共 MQTT 服务器 Broker: broker.emqx.io TCP Port: 1883 Websocket Port: 8083 NodeMCU ESP8266 和 LED 连接图 代码编写 首先我们将导入 ESP8266WiFi 和 PubSubClient 库,ESP8266WiFi 库能够将 ESP8266 连接到 WiFi 网络,PubSubClient 库,使我们能够连接到 MQTT

Understanding IR codes for Samsung TV

自古美人都是妖i 提交于 2021-01-01 05:09:02
问题 Can somebody help me to understand how could I use RAW IR data in an project using ESP8266-HTTP-IR-Blaster library ? I've created a NodeMCU board with an IR sender and receiver according to https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster Everything is working fine as long as I'm using the captured codes for ex.: http://NodeMCU-IP/msg?code=E0E040BF:SAMSUNG:32 This is the Code for the Power button (E0E040BF) As I'm using it in a home automation system, it would very beneficial for me if I