電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino MCU網(wǎng)絡(luò)

Arduino MCU網(wǎng)絡(luò)

2022-10-19 | zip | 0.11 MB | 次下載 | 免費(fèi)

資料介紹

描述

這是一個(gè)正在進(jìn)行的項(xiàng)目。

Arduino 很棒,我喜歡它,是電子和自動(dòng)化的“樂(lè)高”。這里我有這個(gè)項(xiàng)目:它把許多 MCU 板放在一起組成一個(gè)處理器網(wǎng)絡(luò),NetP 是它的名字。板通過(guò) i2c 總線進(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)用程序。

pYYBAGNOSeOADHq9AAA6v6HRfKg402.png
?

每個(gè) Netp MCU 成員都有一個(gè)特定的 i2c 總線地址 (0x0a)、一個(gè)名稱 (CONSOLE)、一個(gè) ID (p0) 和一個(gè)數(shù)字 (0)。當(dāng)然,i2c 總線上還可以存在其他組件:實(shí)際上只有一個(gè) EEPROM 和一個(gè)實(shí)時(shí)時(shí)鐘板。我們必須為每個(gè)成員或組件使用不同的 i2c 地址。

該系統(tǒng)將是即插即用的。是的,您可以連接一個(gè)新的 Netp 成員,它將在網(wǎng)絡(luò)中被識(shí)別(參見(jiàn)“掃描”命令)。

控制臺(tái) (p0) 功能:

  • scan : scan [查詢i2c總線,即掃描,返回總線上的活動(dòng)地址列表,形式為“DDD (0xEE)”...以“'n' found”結(jié)尾]
  • ckpower : ckpower [查詢電量情況,即ckpower,返回“v3=3.3 v5=5.0 vraw=7.0-12.0”]
  • ? : ? [詢問(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í)間值]
poYBAGNOSeaAU-DmAANiSKy1IPg479.jpg
?

組件列表:

  • 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ù)線
  • 有源蜂鳴器
  • EEPROM i2c 1024
  • 按鈕
  • 100歐姆電阻
  • 4 x 5k1 歐姆電阻
  • 2k2歐姆電阻
  • 6k8電阻
  • 2 x 120 歐姆電阻
  • 許多電線...
pYYBAGNOSeyACZ8IAAWrC5_sA90748.png
Fritzing示意圖(也見(jiàn)下載部分)
?

i2c通訊BUS協(xié)議:

Netpx成員通過(guò) i2c BUS(Wire.h 庫(kù))使用由消息和事件制作的自定義協(xié)議在它們之間進(jìn)行通信。

當(dāng)您從控制臺(tái)鍵盤(pán)編寫(xiě)命令時(shí),即“SD dir /”,首先將名稱“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)求名稱和其他信息。如果沒(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)目有何看法。

好好享受!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)