資料介紹
描述
這是一個(gè)正在進(jìn)行的項(xiàng)目。
Arduino 很棒,我喜歡它,是電子和自動(dòng)化的“樂(lè)高”。這里我有這個(gè)項(xiàng)目:它把許多 MCU 板放在一起組成一個(gè)處理器網(wǎng)絡(luò),NetP 是它的名字。板通過(guò) i2c 總線(xiàn)進(jìn)行通信。我使用了 3.3V 的 Arduino Mini Pro 板。您需要一個(gè) USB 轉(zhuǎn)串行 FTDI 板才能將草圖從 Arduino IDE 傳遞到 Mini Pros。對(duì)于鍵盤(pán),我必須使用 3.3V 到 5V 的 TTL 電平轉(zhuǎn)換器。
事實(shí)上,很多事情已經(jīng)開(kāi)始了,還有一些事情還有待完成。根據(jù)我們的意愿,其他人將被“發(fā)明”:-)。
已經(jīng)做了什么:
最明顯的部分是控制臺(tái):一個(gè)鍵盤(pán)和一個(gè)滾動(dòng)顯示器與本地 MCU Netp0 (Console) 交互,并通過(guò)它與本地 i2c 網(wǎng)絡(luò)的其他成員交互:Netp1 (SD)、Netp2 (Updater) 和 Netp3 (時(shí)鐘)等。
代替使用控制臺(tái)的顯示器和鍵盤(pán),您可以將智能手機(jī)與藍(lán)牙連接,并從那里遠(yuǎn)程執(zhí)行所有操作;為此,我完美地設(shè)置了應(yīng)用程序串行藍(lán)牙終端 1.31,但您也可以使用其他應(yīng)用程序。
每個(gè) Netp MCU 成員都有一個(gè)特定的 i2c 總線(xiàn)地址 (0x0a)、一個(gè)名稱(chēng) (CONSOLE)、一個(gè) ID (p0) 和一個(gè)數(shù)字 (0)。當(dāng)然,i2c 總線(xiàn)上還可以存在其他組件:實(shí)際上只有一個(gè) EEPROM 和一個(gè)實(shí)時(shí)時(shí)鐘板。我們必須為每個(gè)成員或組件使用不同的 i2c 地址。
該系統(tǒng)將是即插即用的。是的,您可以連接一個(gè)新的 Netp 成員,它將在網(wǎng)絡(luò)中被識(shí)別(參見(jiàn)“掃描”命令)。
控制臺(tái) (p0) 功能:
- scan : scan [查詢(xún)i2c總線(xiàn),即掃描,返回總線(xiàn)上的活動(dòng)地址列表,形式為“DDD (0xEE)”...以“'n' found”結(jié)尾]
- ckpower : ckpower [查詢(xún)電量情況,即ckpower,返回“v3=3.3 v5=5.0 vraw=7.0-12.0”]
- ? : ? [詢(xún)問(wèn)命令列表,即?,返回板載可用命令列表和可用內(nèi)存]
- reset : reset [強(qiáng)制MPU復(fù)位,即reset]
-
發(fā)送到處理器 ,即SD dir /,從處理器 返回 的結(jié)果]
“掃描”命令每 30 秒執(zhí)行一次以允許即插即用。要知道誰(shuí)有空,只需執(zhí)行“掃描”命令即可查看姓名和地址。要知道控制臺(tái)上執(zhí)行了哪些命令,只需執(zhí)行“?” 命令。要知道在 SD 成員上執(zhí)行了哪些命令,只需執(zhí)行“p1?” 命令。要獲得 SD 上的文件列表,只需執(zhí)行“p1 dir /”... 等等。
SD (p1) 功能:
- ? : ? [尋求幫助,即?,返回船上可用命令和可用內(nèi)存的列表]
-
mw/mwa : mw
= [寫(xiě)入/修改文件名中的值,即 mw temp01=24 (FileName=Value),返回“written”](mwa 將值附加到文件中) -
mr/mra : mr
[從對(duì)應(yīng)的文件名中讀取Value,即mr temp01(FileName為temp01,Value為24,返回'Value'或“not found”](mra會(huì)從文件中讀取多行值) - reset : reset [重置MPU,即重置]
-
dir : dir
[讀取從'path'開(kāi)始的文件名,即dir /],返回文件'names'和'size'的列表...以'n found'結(jié)尾] -
mkdir : mkdir
[建立一個(gè)新目錄(以及相關(guān)子目錄),即 mkdir /music,sdmkdir /logic/params/binary,返回“built”或“error”] -
rmdir : rmdir
[刪除一個(gè)目錄,即rmdir /music,返回“removed”或“error or not empty”] -
rename : rename
[重命名文件,即rename myfile.txt bestfile.txt,返回“renamed”或“not found”] -
del : del
[刪除一個(gè)文件,即del myfile.txt,返回“deleted”或“not found”] -
type : type
[讀取文件并以模式顯示 0=CHR, 1=BIN, 2=HEX,即輸入 myfile.txt CHR,返回文件內(nèi)容...和文件大小'n'和字節(jié)紅色'n'在最后] - eeupl : eeupl <文件名> [讀取文件并上傳到EEPROM,寫(xiě)入并驗(yàn)證所有數(shù)據(jù),即eeupl /mysketch.hex,返回上傳,寫(xiě)入,驗(yàn)證...]
由于內(nèi)存不足,一些命令被禁用;我只保留了我真正需要的那些。我的經(jīng)驗(yàn)表明不要強(qiáng)制使用接近最大值的內(nèi)存,否則您將出現(xiàn)不可預(yù)測(cè)的行為或 MCU。在 SD 草圖上,我認(rèn)為盡可能壓縮代碼以節(jié)省內(nèi)存。也許有些事情可以做得更好。
mw 和 mr 命令對(duì) /MEMORY/ 子目錄進(jìn)行操作,mwa 和 mra 命令對(duì) /LOG/ 子目錄進(jìn)行操作。
更新器(p2)功能:
- ? : ? [尋求幫助,即?,返回船上可用命令和可用內(nèi)存的列表]
- reset : reset [重置MPU,即重置]
時(shí)鐘(p3)功能:
- ? : ? [尋求幫助,即?,返回船上可用命令和可用內(nèi)存的列表]
- reset : reset [重置MPU,即重置]
-
red : red
[打開(kāi)或關(guān)閉紅色LED,即紅色打開(kāi),返回“ON”或“OFF”] -
green : green
[打開(kāi)或關(guān)閉綠色LED,即綠燈亮,返回“ON”或“OFF”] - dht : dht [從DHT板獲取溫度和濕度,即DHT,返回值]
- gettemp : gettemp [從RTC板獲取溫度,即gettemp,返回溫度值]
- gettime : gettime [從RTC板獲取時(shí)間,即gettime,按DD/MM/YYYY HH:MM:SS返回時(shí)間值]
- settime : settime [設(shè)置RTC板的時(shí)間,即settime 31/12/2018 10:20:30,按DD/MM/YYYY HH:MM:SS返回時(shí)間值]
組件列表:
- 4 x Arduino Mini Pro 3.3v
- 微型 SD 卡適配器
- MicroSD 存儲(chǔ)卡
- RTC zs-042 模塊
- DHT-11傳感器
- Protoboard 電源從 7-12V 到 3.3V 和 5V
- 4 個(gè)原型板
- 紅色 LED
- 綠色 LED
- 2 x 470uF 25V 電容器
- 100nF電容
- HC05藍(lán)牙模塊
- FTDI USB-串口轉(zhuǎn)換器
- 顯示器 2.4" TFT LCD 240x320 RGB,驅(qū)動(dòng)IC ILI9341
- USB迷你鍵盤(pán)
- TTL電平轉(zhuǎn)換器 3.3V <-> 5V 用于鍵盤(pán)USB
- USB母頭+數(shù)據(jù)線(xiàn)
- 有源蜂鳴器
- EEPROM i2c 1024
- 按鈕
- 100歐姆電阻
- 4 x 5k1 歐姆電阻
- 2k2歐姆電阻
- 6k8電阻
- 2 x 120 歐姆電阻
- 許多電線(xiàn)...
i2c通訊BUS協(xié)議:
Netpx成員通過(guò) i2c BUS(Wire.h 庫(kù))使用由消息和事件制作的自定義協(xié)議在它們之間進(jìn)行通信。
當(dāng)您從控制臺(tái)鍵盤(pán)編寫(xiě)命令時(shí),即“SD dir /”,首先將名稱(chēng)“SD”轉(zhuǎn)換為查看 netRegisterNames[] 矩陣的真實(shí)地址(即 0x0b),然后使用 askCommandOnPx( )。另一方面,生成一個(gè)事件 receiveEvent() 并在本地執(zhí)行請(qǐng)求的命令并將其數(shù)據(jù)發(fā)回。這些消息的 ID 是 chr(7) BEL 字節(jié)。
在掃描命令期間,使用 whois() 和 Wire.requestFrom() 將另一條消息發(fā)送到 BUS,用于向特定地址(即 0x0c)的潛在 Netpx 成員請(qǐng)求名稱(chēng)和其他信息。如果沒(méi)有正確的回答,則將其視為“其他設(shè)備”。另一方面生成事件 netWhoIsEvent()。這些消息的 ID 是 chr(5) ENQ 字節(jié)。
做什么(我的愿望清單):
首先,我將有一個(gè)命令請(qǐng)求隊(duì)列:實(shí)際上,您可以從控制臺(tái)發(fā)送要執(zhí)行的命令并等待它結(jié)束。如果您連續(xù)快速發(fā)送兩個(gè)或多個(gè)命令,則可能會(huì)忽略第一個(gè)命令之后的所有命令。因此,有了這個(gè)新功能,所有命令都將被寫(xiě)入命令隊(duì)列并以正確的順序一次執(zhí)行一個(gè)。
其次,我將有一個(gè)調(diào)度程序,一個(gè)在特定時(shí)間或每個(gè)特定時(shí)間執(zhí)行的命令列表,等等。這個(gè)作為命令列表的文件應(yīng)該可以從控制臺(tái)以交互方式進(jìn)行編輯。
第三,最雄心勃勃的愿望是將更新/新的草圖存儲(chǔ)在 SD 的特定目錄中,并讓 UPDATER 提供將它們傳遞到 EEPROM,然后再安裝到最終目標(biāo) MCU。待更新的目標(biāo)MCU應(yīng)自行提供讀取EEPROM和自動(dòng)更新;因?yàn)檫@個(gè)功能需要修改正常的引導(dǎo)加載程序...
有什么想法或建議嗎?
當(dāng)我有新聞、改進(jìn)、新零件、新想法等時(shí),我會(huì)在這些頁(yè)面中通知您。請(qǐng)讓我知道您對(duì)這個(gè)正在進(jìn)行的項(xiàng)目有何看法。
好好享受!
- 通過(guò)網(wǎng)絡(luò)重置Arduino
- 使用USBasp和Arduino IDE對(duì)ATtiny MCU進(jìn)行編程
- 涂鴉智能物聯(lián)網(wǎng)平臺(tái)mcu方案arduino庫(kù)文件 5次下載
- 基于Arduino硬件光控?zé)糁谱髻Y料 6次下載
- Arduino Uno國(guó)內(nèi)改版電路原理圖下載 0次下載
- Arduino Uno Rev.3開(kāi)發(fā)板意大利原版電路圖 0次下載
- 涂鴉智能 ① tuya-wifi-mcu-sdk-arduino-library 簡(jiǎn)單剖析
- 采用USB接口的核心電路板Arduino Mega2560 0次下載
- 在Arduino IED中安裝TimeOne庫(kù)文件 4次下載
- Arduino編程基礎(chǔ)(一)——Arduino語(yǔ)言資料下載
- Arduino開(kāi)發(fā)機(jī)器人經(jīng)典書(shū)籍推薦Arduino開(kāi)發(fā)實(shí)戰(zhàn)指南:機(jī)器人卷
- 如何使用Arduino進(jìn)行網(wǎng)絡(luò)互動(dòng)產(chǎn)品創(chuàng)新設(shè)計(jì) 22次下載
- Arduino系統(tǒng)網(wǎng)絡(luò)選項(xiàng) 8次下載
- Arduino教程_Arduino圖形化編程教程_ArduBlock 0次下載
- MCU網(wǎng)絡(luò)接口方案的自由選擇
- 如何使用Python和PinPong庫(kù)控制Arduino 718次閱讀
- 基于Arduino的機(jī)器學(xué)習(xí)開(kāi)發(fā) 1.7w次閱讀
- Arduino I/O函數(shù)詳解 2342次閱讀
- 如何從網(wǎng)頁(yè)控制arduino? 3836次閱讀
- dfrobot以太網(wǎng)絡(luò)擴(kuò)展板-W5200簡(jiǎn)介 1697次閱讀
- 什么是MCU?MCU基礎(chǔ)知識(shí)講解 10.5w次閱讀
- arduino如何控制舵機(jī)及詳細(xì)步驟 16.3w次閱讀
- 什么是MCU?MCU市場(chǎng)現(xiàn)狀分析 9967次閱讀
- arduino連接顯示屏方法詳解 4.7w次閱讀
- Arduino如何安裝驅(qū)動(dòng)_Arduino安裝驅(qū)動(dòng)步驟 5.8w次閱讀
- 淺談Arduino和樹(shù)莓派的區(qū)別 2.1w次閱讀
- arduino用什么語(yǔ)言編程 6.9w次閱讀
- arduino是什么以及arduino能干什么 4.4w次閱讀
- arduino開(kāi)發(fā)板有什么用 2w次閱讀
- arduino ide編譯過(guò)程 3203次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多