资料介绍
描述
1.高层架构
2.先决条件
运行此演示需要以下工具。
-
所选 oneM2M 平台的运行时环境(参见第 3 节):
- Java 运行时环境 (JRE >= 1.8),如果你使用Eclipse OM2M
- Python 3 环境,如果你使用ACME
- NodeJS 环境,如果你使用KETI Mobius - Arduino IDE 1.8.9(或更高版本)
- 您最喜欢的用于开发 IoT 应用程序的 IDE
- 物联网应用程序的Node.js 环境或Python 环境
- 邮递员(可选)
3.下载项目
从主存储库下载必要的资源:
该存储库包括不同的项目:
- oneM2M-IoT-Device : NodeMCU Sketch(es)
- oneM2M-IoT-Application :用 Node.js 和 Python 编写的物联网应用程序
- oneM2M-IoT-Device-Simulator :用于模拟各种物联网传感器和执行器的 Node.js 程序
您还需要实现 oneM2M 平台。存在不同的平台,我们可以引用一些:
对于本教程,将使用ACME实现。平台的安装、配置和运行请参考官方文档。
https://github.com/ankraft/ACME-oneM2M-CSE
4.启动oneM2M兼容的物联网平台
4.1。配置 IoT 平台 (ACME)
默认配置可用于本地演示。物联网平台将监听 8080 端口。每次重启后数据库都会重置。
如果需要,您可以通过编辑文件来更改物联网平台的配置:“ acme.ini ”。
4.2. 启动 IoTPlatform (ACME)
物联网平台可以通过以下方式启动:
python3 acme.py
您应该在日志末尾看到“CSE 已启动”。
4.3. 登录 ACME 网页界面
在浏览器中打开以下 URL 访问 ACME IoT 平台网页界面:http: //127.0.0.1 :8080/
使用默认配置,输入发起人“ CAdmin” ,然后输入“ Connect ”
然后您将能够看到 oneM2M 资源树:
5. 连接您的物联网设备
NodeMCU 源代码位于“oneM2M-IoT-Device”文件夹中。
5.1。原理图
使用以下组件将电位器、4 位显示器、按钮、LCD 显示器连接到 NodeMCU 板:
- 面包板
- NodeMCU板
- 电位器
- 按钮
- 4 位 7 段显示器 (TM1637)
- 液晶显示器 (2x16)
5.2. 为 NodeMCU 开发设置 Arduino IDE
如果尚未安装,请从以下链接下载并安装 Arduino ID
注意:我们不建议在此演示中使用 Arduino Web 编辑器,因为不支持 NodeMCU 板。
插入时,如果未检测到 NodeMCU 端口,则需要使用以下链接手动下载并安装 USB 驱动程序:https ://github.com/nodemcu/nodemcu-devkit/tree/master/Drivers
5.3. 为 Arduino IDE 添加 NodeMCU 板支持
首先,打开 Arduino IDE,转到“文件”>“首选项”条目。
在“其他板管理器 URL”文本框中复制以下 URL :
单击“确定”关闭“首选项”对话框。
完成上述步骤后,进入“工具”>“Board:...” ,然后选择“Board Manager”
输入文本框“esp8266” ,然后导航到“esp8266 by esp8266 community”并“安装”Arduino 软件。
转到“工具”>“板...” ,然后选择“NodeMCU 1.0”板。
完成上述所有过程后,您就可以使用 Arduino IDE 对 NodeMCU 板进行编程了。
5.5. 配置 NodeMCU 草图
在您的 Arduino IDE 中打开草图“ NodeMCU_PotentiometerSensor-DisplayActuator.ino ”。
设置你的WIFI参数
-
char* WIFI_SSID = "FILL_THE_WIFI_SSID";
-
char* WIFI_PSWD = "FILL_THE_WIFI_PSWD";
在您的网络中设置 ACME IoT 平台的 IP 地址:
-
String CSE_IP = "X.X.X.X";
5.6. 编译 NodeMCU 草图
单击验证按钮以编译草图。
编译输出:
5.7. 将草图上传到NodeMU 板
单击上传按钮将草图上传到 NodeMCU 板。
上传输出:
5.8. 使用串行监视器调试代码执行
单击按钮打开 Arduino 串行监视器以显示 NodeMCU 控制台。
然后在打开串行监视器后从下拉列表中选择 115200。
5.9. 在 ACME Web 界面上查看 IoT 设备资源
您应该会看到“PotentiometerSensor”应用实体资源,其中包含在 oneM2M Web 界面上创建的“DESCRIPTOR”和“DATA”容器。
您还应该看到在 oneM2M Web 界面上创建的带有“DESCRIPTOR”、“DATA”和“COMMAND”容器的“DisplayActuator”应用程序实体资源。
6. 连接您的 IoT 应用程序
电位器监控和显示管理应用源码以NodeJS和Python提供。文件夹中提供了源代码:
-
"oneM2M-IoT-Application/nodejs/onem2m-monitor.js"
-
"oneM2M-IoT-Application/python/onem2m-monitor.py"
6.1。配置应用程序
您可以使用提供的两个应用程序之一:NodeJS或Python
6.1。选项 A = NodeJS IoT 应用程序
使用您喜欢的文本编辑器打开文件nodejs / config/default.json 。并编辑必要的配置参数。
设置 ACME 平台的 IP 地址(变量“ monitorIP ”)。如果您在同一台计算机上运行 ACME 平台和应用程序,则可以保留 localhost (127.0.0.1)。
6.1。选项 B = Python IoT 应用程序
使用您喜欢的文本编辑器打开文件python/default.json 。并编辑必要的配置参数。
设置oneM2M平台的IP地址(变量“monitorIP ” )。如果您在同一台机器上运行 oneM2M 平台和应用程序,则可以保留 localhost (127.0.0.1)。
6.2. 启动应用程序
6.2. 选项 A = NodeJS IoT 应用程序
在终端上,使用npm工具安装以下 Node.js 模块(安装 Node.js 时默认安装):
> npm install express
> npm install request
> npm install body-parser
> npm install request
> npm install yargs
> npm install config
使用以下命令启动 Node.js oneM2M IoT 应用程序:
> node onem2m-monitor.js -s Potentiometer -a Display
6.2. 选项 B = Python IoT 应用程序
在终端上,使用pip工具安装以下 Python 模块(可以在安装 Python 时安装):
> pip install requests
> pip install flask
使用以下命令启动 Python oneM2M IoT 应用程序:
> python onem2m-monitor.py -s Potentiometer -a Display
6.3. 在 ACME Web 界面上查看 IoT 应用程序资源
您应该会看到Monitor
在 oneM2M Web 界面上创建的“ ”应用程序实体 (AE) 资源。还要检查下订阅资源的创建PotentiometerSensor/DATA
7. 示范
当您改变电位器的位置时,它的值会直接复制到 4 位显示器上。
当您按下按钮时,电位器的值会通过 WiFi 发送到远程 CSE。然后将该值通知给监控应用程序。
根据接收到的值,监视器应用程序将通过 CSE 向 LCD 屏幕发送特定消息。
如果该值低于 512 (分别高于 512 ),则监视器应用程序将发送“Value is LOW” (分别为“Value is HIGH” )以显示在 LCD 屏幕上。
8. 更进一步
如果您有第二个 NodeMCU,您可以将传感器和执行器拆分到两个 NodeMCU 设备上。
8.1 架构
8.2 原理图
8.3 NodeMCU 草图
您可以在文件夹中找到拆分为两个新草图的原始草图代码:
"oneM2M-IoT-Device/PotentiometerSensor_DisplayActuator"
NodeMCU 1(仅限传感器)
-
"PotentiometerSensor/PotentiometerSensor.ino"
NodeMCU 2(仅限执行器)
-
"DisplayActuator/DisplayActuator.ino"
8.4 物联网应用
感谢 oneM2M 标准,您可以使用相同的 IoT 应用程序而无需进行任何更改 :-)
- NodeMCU ESP8266启用AJAX的Web服务器
- DIY PCB ESP8266 NodeMCU电源
- esp8266 nodeMCU arduino开发环境
- NodeMCU ESP8266开发入门
- Hello World, 来自ESP8266和NodeMCU的问候
- ESP8266-NodeMCU项目(二):ESP8266-NodeMCU+bl
- ESP8266(NodeMCU)建立最简单的网页
- Esp8266(NodeMCU)连接阿里云服务器
- NODEMCU学习笔记-01 esp8266 WIFI杀手 源码上传版 0次下载
- Arduino-ESP8266 NodeMCU的UDP通信
- ESP8266 nodemcu使用arduino编程点亮OLED测试
- 【物联网】基础篇 ESP8266-NodeMCU学习一
- 5、ESP8266 NodeMCU 数字输入和数字输出
- ESP8266-NodeMCU
- ESP8266 Nodemcu学习心得②
- ESP8266红外信号收发实验 1678次阅读
- ESP8266硬件 4143次阅读
- ESP8266/ESP32自动下载原理 4249次阅读
- 如何使用按钮式数字电位器的可调电压输出设计 2690次阅读
- 如何使用ESP8266制作可配置的Web服务器 1.2w次阅读
- 如何利用ESP8266制作一个简单的四轴飞行器 4532次阅读
- 如何使用ESP8266开发板制作光强度检测器 3907次阅读
- ESP8266上运行代码如何实现 2768次阅读
- 如何利用ESP8266实现智能手表的设计 2999次阅读
- STM32系列设计,ESP8266联网授时时钟 7825次阅读
- esp8266中文资料汇总(esp8266引脚图_与单片机连接_串口wifi实例) 22.4w次阅读
- esp8266固件如何升级_ESP8266WIFI模块固件升级 4.2w次阅读
- ESP8266 Wi-Fi到底传多远_esp8266 wifi信号强度测距 5.1w次阅读
- esp8266 at指令集详解 14.1w次阅读
- esp8266串口wifi实例 1.8w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多