如果您正在寻找...
Pine64 PineTime 智能手表版本,带 Rust,点击此处获取pinetime
分支
GigaDevice GD32VF103版本带Rust,点击这里查看gd32vf103
分支
带蓝牙 Mesh 的 Nordic nRF52 版本,点击此处查看mesh
分支
带 iBeacon、NimBLE 和 Rust 的 Nordic nRF52 版本,单击此处获取nrf52
分支
带 GPS、NB-IoT 和 Rust 的 STM32 L476 版本,点击此处获取l476
分支
带低功耗 NB-IoT 的 STM32 Blue Pill 版本,点击此处查看low-power
分支
带 NB-IoT 和 Visual Rust 的 STM32 Blue Pill 版本,点击此处查看rust-nbiot
分支
带 NB-IoT 和 Rust 的 STM32 Blue Pill 版本,点击此处获取rust-nbiot
分支
带 NB-IoT 和 C 的 STM32 Blue Pill 版本,点击此处获取nbiot
分支
带 Rust 的 STM32 Blue Pill 版本,点击此处获取rust
分支
STM32 Blue Pill 版本,带有 Rust 宏和安全包装器,单击此处获取rust-safe
分支
您现在位于带有 nRF24L01 和 ESP8266 的 STM32 Blue Pill 的旧分支。检查教程...
构建您的物联网传感器网络 — STM32 Blue Pill + nRF24L01 + ESP8266 + Apache Mynewt + thethings.io
该存储库包含...
my_sensor_app
:传感器网络应用程序
boot_stub
:Mynewt 引导加载程序存根
adc_stm32f1
:STM32F1 上 ADC 的 Mynewt 驱动程序
custom_sensor
:自定义传感器定义
esp8266
: ESP8266 的 Mynewt 驱动程序
hmac_prng
:基于内部温度传感器的带有熵的 HMAC 伪随机数生成器
nrf24l01
:nRF24L01 的 Mynewt 驱动程序
remote_sensor
:远程传感器的 Mynewt 驱动程序
semihosting_console
:用于 Arm 半主机的 Mynewt 控制台
sensor_coap
:传感器 CoAP 库
sensor_network
:传感器网络库
temp_stm32
:STM32 上内部温度传感器的 Mynewt 驱动程序
STM32 蓝色药丸或超级蓝色药丸
ESP8266 或 nRF24L01 或两者
该程序以 4 种模式运行:
1️⃣ 独立节点(带有 ESP8266 的 Blue Pill):程序每 10 秒轮询一次 Blue Pill 内部温度传感器,并将传感器数据(JSON 格式)传输到 CoAP (UDP) 服务器,例如 thethings.io。
编辑targets/bluepill_my_sensor/syscfg.yml
中的设置,如下所示:
syscfg.vals :
# TUTORIAL1: 1
TUTORIAL2 : 1
# TUTORIAL3: 1
...
2️⃣ 传感器节点(带有 nRF24L01 的 Blue Pill):程序每 10 秒轮询一次 Blue Pill 内部温度传感器,并将传感器数据(CBOR 格式)传输到收集器节点。
编辑targets/bluepill_my_sensor/syscfg.yml
中的设置,如下所示:
syscfg.vals :
# TUTORIAL1: 1
# TUTORIAL2: 1
TUTORIAL3 : 1
...
将SENSOR_NODE_HW_ID_1
设置为蓝色药丸的硬件 ID。
3️⃣ 收集器节点(带有 nRF24L01 和 ESP8266 的 Blue Pill):程序从传感器节点接收传感器数据(CBOR 格式),并将传感器数据(JSON 格式)传输到 CoAP(UDP)服务器,例如 thethings.io。
编辑targets/bluepill_my_sensor/syscfg.yml
中的设置,如下所示:
syscfg.vals :
# TUTORIAL1: 1
# TUTORIAL2: 1
TUTORIAL3 : 1
...
将COLLECTOR_NODE_HW_ID
设置为蓝色药丸的硬件 ID。
4️⃣ WiFi 地理定位(带有 ESP8266 的蓝色药丸):该程序将 ESP8266 扫描的 WiFi 接入点 MAC 地址和信号强度发送到 CoAP (UDP) 服务器,例如 thethings.io。请参阅 https://github.com/lupyuen/thethingsio-wifi-geolocation
thethings.io 将调用 Google Geolocation API 根据 WiFi 数据计算纬度和经度。为了公开显示,计算出的地理位置被推送到 Google Cloud App Engine 上托管的 Web 应用程序。请参阅 https://github.com/lupyuen/gcloud-wifi-geolocation
编辑targets/bluepill_my_sensor/syscfg.yml
中的设置,如下所示:
syscfg.vals :
# TUTORIAL1: 1
TUTORIAL2 : 1
# TUTORIAL3: 1
WIFI_GEOLOCATION : 1
...
要安装适用于 Windows 和 macOS 的 Apache Mynewt,请参阅教程...
构建您的物联网传感器网络 — STM32 Blue Pill + nRF24L01 + ESP8266 + Apache Mynewt + thethings.io
使用 Apache Mynewt 将 STM32 Blue Pill 连接到 ESP8266
使用 Apache Mynewt 和 STM32 Blue Pill 创建您的 IoT 小工具
启动 Video Studio Code
单击Terminal → Run Task
选择[0] Install Apache Mynewt
出现提示时,单击Terminal
窗格并输入sudo
密码。密码只需输入一次。
安装脚本将需要几分钟的时间来下载和安装构建工具。完成后,我们应该看到“完成”!
退出并重新启动 Visual Studio Code。这将激活已安装的扩展。
如果出现问题,请将您的日志与此设置日志进行比较。
Windows 和 Ubuntu Linux 的示例日志可以在日志文件夹中找到
基于
https://mynewt.apache.org/latest/tutorials/sensors/sensor_thingy_lis2dh12_onb.html
https://mynewt.apache.org/latest/tutorials/sensors/sensor_nrf52_bno055.html
cd /mnt/c
newt new stm32bluepill-mynewt-sensor
cd stm32bluepill-mynewt-sensor
cat project.yml
newt install
newt pkg new -t app apps/my_sensor_app
newt pkg new -t lib libs/semihosting_console
newt target create bluepill_boot
newt target set bluepill_boot bsp=@apache-mynewt-core/hw/bsp/bluepill
newt target set bluepill_boot app=@apache-mynewt-core/apps/boot
newt target set bluepill_boot build_profile=optimized
newt target create bluepill_my_sensor
newt target set bluepill_my_sensor bsp=@apache-mynewt-core/hw/bsp/bluepill
newt target set bluepill_my_sensor app=apps/my_sensor_app
newt target set bluepill_my_sensor build_profile=debug
project.yml
应包含
project.name : " my_project "
project.repositories :
- apache-mynewt-core
repository.apache-mynewt-core :
type : github
vers : 1.6.0
user : apache
repo : mynewt-core