iT邦幫忙

0

node.js如何連動arduino UHF RFID

  • 分享至 

  • xImage

大家好,我是資訊小白
我的code都是上網找資料擷取運用
照著網路資料操作,目前遇到瓶頸是透過node.js已連上serialport
但是只呈現文字,無法感應到tag
有找過很多資料,但是都無法順利感應 ><

目前用的UHF RFID是 sparkfun m6e nano及arduino uno
node.js使用
npm install serialport
npm install express

https://ithelp.ithome.com.tw/upload/images/20230730/20161393yBZC6qOeT4.png
https://ithelp.ithome.com.tw/upload/images/20230730/20161393E1DQ2pBRaJ.png

https://ithelp.ithome.com.tw/upload/images/20230730/20161393SBkTgOARo2.png

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
sfc507
iT邦新手 4 級 ‧ 2023-07-31 09:21:51
最佳解答

想請問你想要做的功能是什麼(需求)?
功能的架構是什麼?
就文中你敘述的,我可以理解架構為

模組(讀取) -> arduino(中繼) -> node.js

所以是arduino端與node.js發生問題嗎?
如果是的話解決的方式有三種:

  1. 由於沒有完整的arduino的程式碼,就你的圖來說,要確認softSerial的鮑率,是否與node.js一致。
  2. 確認arduino與node.js連接的線,rxtx是否接反。
  3. 你node.js第88行好像有問題,path:'PORT',這邊的PORT,是不是應該對應連接PC的softSerial的COM

P.S. 建議要驗證的話,可以讓問題簡單化,寫一個Arduino透過Serial傳輸資料給node.js的程式驗證,如果成功再把RFID的功能加回去,這樣問題會比較明朗。

看更多先前的回應...收起先前的回應...
froce iT邦大師 1 級 ‧ 2023-07-31 09:58:03 檢舉

由於沒有完整的arduino的程式碼,就你的圖來說,要確認softSerial的鮑率,是否與node.js一致。

中繼不一定是透過console,而是透過網路,我在猜他想做的東西他自己都搞不太清楚。所以查的是node.js讀卡...

要用電腦讀取讀卡機,中間應該是不用透過arduino,應該不會有人想要搞什麼arduino當console的中轉器之類的。

sfc507 iT邦新手 4 級 ‧ 2023-07-31 11:33:54 檢舉

因為我也不知道他要做什麼,也沒做過相關的東西,但是乍看 sparkfun m6e nano的datasheet,跟官方提供的範例程式 https://github.com/sparkfun/SparkFun_Simultaneous_RFID_Tag_Reader_Library/blob/master/README.md
看起來是要透過arduino沒錯,至於為什麼...就不知道了,只能先幫他釐清他要問的問題/images/emoticon/emoticon46.gif

DennisLu iT邦研究生 1 級 ‧ 2023-07-31 12:09:03 檢舉

我覺得他是想要node.js server實體接arduino,
透過 softSerial 去溝通。
他說他他已經接上了,我猜應該是 baudrates 設錯,
才會確認有接上但無法正常如願溝通。

我猜他想這樣做吧...
node.js 執行讀卡 > softSerial > arduino 啟動讀卡,同時node.js等待回應

arduino 讀到卡 > softSerial > node.js等到了>softSerial >arduino 結束這次讀卡工作

froce iT邦大師 1 級 ‧ 2023-07-31 14:57:52 檢舉

剛剛查了一下,sparkfun m6e nano的確需要arduino當控制的部分。
沒注意到。

另外應該是他的port的部分寫錯了

new SerialPort({ path: 'COM6', baudRate: 9600 })

然後記得要先把arduino ide和arduino斷開。

我要發表回答

立即登入回答