logic_spi_esp8266_arduino.png
之前一直有看到PyCom开发的基于MicroPython/ESP32的LoRa网关,但是也没有测试过。最近看到国内有卖ESP32/LoRa模块的设计,但是买来一看,LoRa部分也是非常简单的设计。而且该设计除了营销上很有一套,总的来说,技术含量不够高。
技术选型:采用ESP32我觉得有些纠结,低功耗ESP32抵不上其他供应商的功耗,不如用Wi-Fi,而Wi-Fi不如ESP8266。不过ESP32内置LDO/PMU有很赞。
外型尺寸:板子过于密集,OLED的FPC紧贴着焊盘,给开发者焊接带来难度。
完整度:BLE部分不完整,Wi-Fi没有对接某个云端,LoRa驱动也不完整。
ESP8266 SPI driver for Arduino
由于模块自身占用了SPI和串口,而芯片自身引脚也不够,许多功能都是复用引脚的。而ESP8266-12F模块不提供内电路,所以需要横向比较许多资料。最终得出结论:12F模块中SPI提供给了内部SPI闪存,而将HSPI留给了用户。
早前ESP8266的相关资料很杂散,IC原厂和模块供应商资料版本都存在很多差异。现在基于Arduino倒是省了很多事情。
源码
查阅了Github上的源码,编写了以下的测试代码。
/*
* SPI test code for SX1278 module, in order to port all Lo