资料介绍
描述
这是一个正在进行的项目。
Arduino 很棒,我喜欢它,是电子和自动化的“乐高”。这里我有这个项目:它把许多 MCU 板放在一起组成一个处理器网络,NetP 是它的名字。板通过 i2c 总线进行通信。我使用了 3.3V 的 Arduino Mini Pro 板。您需要一个 USB 转串行 FTDI 板才能将草图从 Arduino IDE 传递到 Mini Pros。对于键盘,我必须使用 3.3V 到 5V 的 TTL 电平转换器。
事实上,很多事情已经开始了,还有一些事情还有待完成。根据我们的意愿,其他人将被“发明”:-)。
已经做了什么:
最明显的部分是控制台:一个键盘和一个滚动显示器与本地 MCU Netp0 (Console) 交互,并通过它与本地 i2c 网络的其他成员交互:Netp1 (SD)、Netp2 (Updater) 和 Netp3 (时钟)等。
代替使用控制台的显示器和键盘,您可以将智能手机与蓝牙连接,并从那里远程执行所有操作;为此,我完美地设置了应用程序串行蓝牙终端 1.31,但您也可以使用其他应用程序。
![pYYBAGNOSeOADHq9AAA6v6HRfKg402.png](https://file.elecfans.com/web2/M00/71/5E/pYYBAGNOSeOADHq9AAA6v6HRfKg402.png)
每个 Netp MCU 成员都有一个特定的 i2c 总线地址 (0x0a)、一个名称 (CONSOLE)、一个 ID (p0) 和一个数字 (0)。当然,i2c 总线上还可以存在其他组件:实际上只有一个 EEPROM 和一个实时时钟板。我们必须为每个成员或组件使用不同的 i2c 地址。
该系统将是即插即用的。是的,您可以连接一个新的 Netp 成员,它将在网络中被识别(参见“扫描”命令)。
控制台 (p0) 功能:
- scan : scan [查询i2c总线,即扫描,返回总线上的活动地址列表,形式为“DDD (0xEE)”...以“'n' found”结尾]
- ckpower : ckpower [查询电量情况,即ckpower,返回“v3=3.3 v5=5.0 vraw=7.0-12.0”]
- ? : ? [询问命令列表,即?,返回板载可用命令列表和可用内存]
- reset : reset [强制MPU复位,即reset]
-
发送到处理器 ,即SD dir /,从处理器 返回 的结果]
“扫描”命令每 30 秒执行一次以允许即插即用。要知道谁有空,只需执行“扫描”命令即可查看姓名和地址。要知道控制台上执行了哪些命令,只需执行“?” 命令。要知道在 SD 成员上执行了哪些命令,只需执行“p1?” 命令。要获得 SD 上的文件列表,只需执行“p1 dir /”... 等等。
SD (p1) 功能:
- ? : ? [寻求帮助,即?,返回船上可用命令和可用内存的列表]
-
mw/mwa : mw
= [写入/修改文件名中的值,即 mw temp01=24 (FileName=Value),返回“written”](mwa 将值附加到文件中) -
mr/mra : mr
[从对应的文件名中读取Value,即mr temp01(FileName为temp01,Value为24,返回'Value'或“not found”](mra会从文件中读取多行值) - reset : reset [重置MPU,即重置]
-
dir : dir
[读取从'path'开始的文件名,即dir /],返回文件'names'和'size'的列表...以'n found'结尾] -
mkdir : mkdir
[建立一个新目录(以及相关子目录),即 mkdir /music,sdmkdir /logic/params/binary,返回“built”或“error”] -
rmdir : rmdir
[删除一个目录,即rmdir /music,返回“removed”或“error or not empty”] -
rename : rename
[重命名文件,即rename myfile.txt bestfile.txt,返回“renamed”或“not found”] -
del : del
[删除一个文件,即del myfile.txt,返回“deleted”或“not found”] -
type : type
[读取文件并以模式显示 0=CHR, 1=BIN, 2=HEX,即输入 myfile.txt CHR,返回文件内容...和文件大小'n'和字节红色'n'在最后] - eeupl : eeupl <文件名> [读取文件并上传到EEPROM,写入并验证所有数据,即eeupl /mysketch.hex,返回上传,写入,验证...]
由于内存不足,一些命令被禁用;我只保留了我真正需要的那些。我的经验表明不要强制使用接近最大值的内存,否则您将出现不可预测的行为或 MCU。在 SD 草图上,我认为尽可能压缩代码以节省内存。也许有些事情可以做得更好。
mw 和 mr 命令对 /MEMORY/ 子目录进行操作,mwa 和 mra 命令对 /LOG/ 子目录进行操作。
更新器(p2)功能:
- ? : ? [寻求帮助,即?,返回船上可用命令和可用内存的列表]
- reset : reset [重置MPU,即重置]
时钟(p3)功能:
- ? : ? [寻求帮助,即?,返回船上可用命令和可用内存的列表]
- reset : reset [重置MPU,即重置]
-
red : red
[打开或关闭红色LED,即红色打开,返回“ON”或“OFF”] -
green : green
[打开或关闭绿色LED,即绿灯亮,返回“ON”或“OFF”] - dht : dht [从DHT板获取温度和湿度,即DHT,返回值]
- gettemp : gettemp [从RTC板获取温度,即gettemp,返回温度值]
- gettime : gettime [从RTC板获取时间,即gettime,按DD/MM/YYYY HH:MM:SS返回时间值]
- settime : settime [设置RTC板的时间,即settime 31/12/2018 10:20:30,按DD/MM/YYYY HH:MM:SS返回时间值]
![poYBAGNOSeaAU-DmAANiSKy1IPg479.jpg](https://file.elecfans.com/web2/M00/70/CB/poYBAGNOSeaAU-DmAANiSKy1IPg479.jpg)
组件列表:
- 4 x Arduino Mini Pro 3.3v
- 微型 SD 卡适配器
- MicroSD 存储卡
- RTC zs-042 模块
- DHT-11传感器
- Protoboard 电源从 7-12V 到 3.3V 和 5V
- 4 个原型板
- 红色 LED
- 绿色 LED
- 2 x 470uF 25V 电容器
- 100nF电容
- HC05蓝牙模块
- FTDI USB-串口转换器
- 显示器 2.4" TFT LCD 240x320 RGB,驱动IC ILI9341
- USB迷你键盘
- TTL电平转换器 3.3V <-> 5V 用于键盘USB
- USB母头+数据线
- 有源蜂鸣器
- EEPROM i2c 1024
- 按钮
- 100欧姆电阻
- 4 x 5k1 欧姆电阻
- 2k2欧姆电阻
- 6k8电阻
- 2 x 120 欧姆电阻
- 许多电线...
![pYYBAGNOSeyACZ8IAAWrC5_sA90748.png](https://file.elecfans.com/web2/M00/71/5E/pYYBAGNOSeyACZ8IAAWrC5_sA90748.png)
i2c通讯BUS协议:
Netpx成员通过 i2c BUS(Wire.h 库)使用由消息和事件制作的自定义协议在它们之间进行通信。
当您从控制台键盘编写命令时,即“SD dir /”,首先将名称“SD”转换为查看 netRegisterNames[] 矩阵的真实地址(即 0x0b),然后使用 askCommandOnPx( )。另一方面,生成一个事件 receiveEvent() 并在本地执行请求的命令并将其数据发回。这些消息的 ID 是 chr(7) BEL 字节。
在扫描命令期间,使用 whois() 和 Wire.requestFrom() 将另一条消息发送到 BUS,用于向特定地址(即 0x0c)的潜在 Netpx 成员请求名称和其他信息。如果没有正确的回答,则将其视为“其他设备”。另一方面生成事件 netWhoIsEvent()。这些消息的 ID 是 chr(5) ENQ 字节。
做什么(我的愿望清单):
首先,我将有一个命令请求队列:实际上,您可以从控制台发送要执行的命令并等待它结束。如果您连续快速发送两个或多个命令,则可能会忽略第一个命令之后的所有命令。因此,有了这个新功能,所有命令都将被写入命令队列并以正确的顺序一次执行一个。
其次,我将有一个调度程序,一个在特定时间或每个特定时间执行的命令列表,等等。这个作为命令列表的文件应该可以从控制台以交互方式进行编辑。
第三,最雄心勃勃的愿望是将更新/新的草图存储在 SD 的特定目录中,并让 UPDATER 提供将它们传递到 EEPROM,然后再安装到最终目标 MCU。待更新的目标MCU应自行提供读取EEPROM和自动更新;因为这个功能需要修改正常的引导加载程序...
有什么想法或建议吗?
当我有新闻、改进、新零件、新想法等时,我会在这些页面中通知您。请让我知道您对这个正在进行的项目有何看法。
好好享受!
- Arduino基于网络的操纵杆
- 通过网络重置Arduino
- 使用USBasp和Arduino IDE对ATtiny MCU进行编程
- 涂鸦智能物联网平台mcu方案arduino库文件 5次下载
- 基于Arduino硬件光控灯制作资料 7次下载
- Arduino Uno国内改版电路原理图下载 0次下载
- Arduino Uno Rev.3开发板意大利原版电路图 0次下载
- 涂鸦智能 ① tuya-wifi-mcu-sdk-arduino-library 简单剖析
- 采用USB接口的核心电路板Arduino Mega2560 0次下载
- Arduino编程基础(一)——Arduino语言资料下载
- Arduino开发机器人经典书籍推荐Arduino开发实战指南:机器人卷
- 如何使用Arduino进行网络互动产品创新设计 22次下载
- Arduino系统网络选项 8次下载
- Arduino教程_Arduino图形化编程教程_ArduBlock 0次下载
- MCU网络接口方案的自由选择
- 如何使用Python和PinPong库控制Arduino 1033次阅读
- 基于Arduino的机器学习开发 1.9w次阅读
- Arduino I/O函数详解 2587次阅读
- 如何从网页控制arduino? 4186次阅读
- dfrobot以太网络扩展板-W5200简介 1868次阅读
- 什么是MCU?MCU基础知识讲解 10.6w次阅读
- arduino如何控制舵机及详细步骤 16.5w次阅读
- 什么是MCU?MCU市场现状分析 1w次阅读
- arduino连接显示屏方法详解 4.7w次阅读
- Arduino如何安装驱动_Arduino安装驱动步骤 5.9w次阅读
- 浅谈Arduino和树莓派的区别 2.1w次阅读
- arduino用什么语言编程 6.9w次阅读
- arduino是什么以及arduino能干什么 4.5w次阅读
- arduino开发板有什么用 2.1w次阅读
- arduino ide编译过程 3404次阅读
下载排行
本周
- 1DeepSeek:从入门到精通
- 5.36 MB | 43次下载 | 1 积分
- 2中兴通讯的PCB设计规范
- 23.03 MB | 5次下载 | 5 积分
- 3Altium-常用3D封装库(Step)接插件篇
- 4.95 MB | 2次下载 | 免费
- 4多款常用电子电路分享
- 7.96 MB | 1次下载 | 2 积分
- 5PC1902同步降压LED驱动器规格书
- 0.99 MB | 1次下载 | 免费
- 6爱华TA314/317/327维修图纸
- 3.54 MB | 1次下载 | 1 积分
- 7SOT8098-1塑料、表面贴装封装
- 180.25KB | 1次下载 | 免费
- 8SOD80C玻璃、全密封玻璃表面贴装封装规格书
- 126.34KB | 1次下载 | 免费
本月
- 1A7159和A7139射频芯片的资料免费下载
- 0.20 MB | 55次下载 | 5 积分
- 2DeepSeek:从入门到精通
- 5.36 MB | 43次下载 | 1 积分
- 3零死角玩转STM32F103—指南者
- 26.78 MB | 42次下载 | 1 积分
- 4PIC12F629/675 数据手册免费下载
- 2.38 MB | 36次下载 | 5 积分
- 5PIC16F716 数据手册免费下载
- 2.35 MB | 18次下载 | 5 积分
- 6GD32F4xx用户手册
- 14.49MB | 14次下载 | 免费
- 7dsPIC33EDV64MC205电机控制开发板用户指南
- 5.78MB | 8次下载 | 免费
- 8STC15系列常用寄存器汇总免费下载
- 1.60 MB | 7次下载 | 5 积分
总榜
- 1matlab软件下载入口
- 未知 | 935124次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420063次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233088次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73813次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65988次下载 | 10 积分
评论