樹莓派開發筆記(十四):入手研華ADVANTECH工控樹莓派UNO-220套件(三):使用研發自帶系統測試rtc、gpio、232和485套件接口

前言

  上一篇說明了必須要使用研華自帶的8G卡的系統,通過溝通拿到了相關的系統,購買的時候會帶8GB的卡,請自行備份一份鏡像。本篇對uno-220套件的相關研華配套的額外接口做測試,篇幅較長,重點講述了測試、發現問題以及解決問題的思路和過程。

 

特別注意

  系統官方是不提供額外下載的,經銷售也沒有,只有購買UNO-220套件附送的8GB卡纔有,其官方其他下載版本全部測試,無法加載研華的驅動,所以實際上他的下載驅動無作用。

 

刷系統

  該系統是8GB卡里面的對應筆者的套件的。
  先貼上自帶系統的版本:
  在這裏插入圖片描述
  以下是備份的系統:
  在這裏插入圖片描述
  然後使用win32DiskImager刷機:
   在這裏插入圖片描述
  選擇要刷的鏡像,選擇寫入的盤(32GB的sd卡),開始寫入:
  在這裏插入圖片描述
  等待寫入完成:
  在這裏插入圖片描述

 

測試RTC驅動

  將卡插入樹莓派:
  在這裏插入圖片描述
  開啓後:
  在這裏插入圖片描述
  測試RTC驅動:
  在這裏插入圖片描述
  測試成功,使用ssh連接,原本的研華的系統也開啓了默認的ssh服務,用戶名和密碼都是默認的。
  之前是沒有連接網絡設置爲2000年1月1日,接上公網後,會自動更新時間並持續寫入最新時間到rtc,如下圖:
  在這裏插入圖片描述

 

測試GPIO口

sudo uno220gpio -h
sudo uno220gpio --export=all
sudo uno220gpio 
sudo uno220gpio --in=0 --direction=out
sudo uno220gpio --pin=0 --value=1

  在這裏插入圖片描述

 

測試串口

第一輪測試失敗:UNO220套件引出來的默認爲調試串口

uno220uart測試

  程序測試接收發送不對,串口波特率各種也都試過了,而且其本身又沒有說明文檔,幫助信息也有限,而且其命令行說白了而也不好用。
  在這裏插入圖片描述

minicom測試

sudo apt-get install minicom

  在這裏插入圖片描述

ls dev/tty*

  /dev/ttyAMA0目前是分配給藍牙的)
  在這裏插入圖片描述
  在這裏插入圖片描述
  在這裏插入圖片描述
  發現還是不行,直接給他拆了,將40pin中的唯一串口給他引出來:
  在這裏插入圖片描述
  在這裏插入圖片描述
  還是亂碼,偶然發現在PC的串口助手上出現需要登陸的英文,所以此接口當前應該是調串口,於是測試:
  在這裏插入圖片描述
  由此判斷/dev/serial0是調試串口。
  在這裏插入圖片描述

第二輪測試失敗:疑似調試串口,但又不是?

  知道了是調試串口,那麼切換成空閒的串口給他調用即可完成調試,具體的方法後面附上,目前先蓋上套件測試第二輪
  在這裏插入圖片描述

uno220uart測試

  在這裏插入圖片描述
  接收時需要帶設備的,那麼發送是否也需要帶設備,其文檔上接收並沒有帶設備,貼研華文檔如下圖:
  在這裏插入圖片描述
  下面是帶設備接收:
  在這裏插入圖片描述
  測一下不帶設備接收的:
  在這裏插入圖片描述

  特別注意啊,以下的測試沒有通過套件,直接是接入樹莓派的。

minicom測試

  跟上面一樣,也是亂碼,所以筆者就很好奇了,這個地方好像你再輸入輸出的時候,對方也在輸入輸出。
  發現,我們外部輸入的時候,裏面也在同步輸出。這是直接接的樹莓派了,所以此串口是否是調試串口(調試串口又不輸出調試信息,偶爾之前輸出需要登陸的)。
  在這裏插入圖片描述
  (硬件有問題就有點小麻煩了,繼續先忽略這個確認軟件問題,當前判斷應該是串口控制端問題,帶着疑問繼續)

第三輪測試:裸機成功,uno220套裝失敗(漏電)

  此時我們也不糾結了,且花費了較多的時間了,直接更換2個串口,當前爲:
  在這裏插入圖片描述

sudo uno220uart --kernel=0 --systemd=0 –disable
reboot

  關閉串口之後重啓,就這樣了:
  在這裏插入圖片描述
  之前的樹莓派3B+上,UART0 GPIO14 GPIO15 這個是硬件串口,默認當成串口控制檯使用。

串口接收數據錯誤問題原因

  我們查一下4B(uno220套件爲4B),可知道3B和4B是一樣的串口和藍牙問題,所以usart參照博文《樹莓派開發筆記(六):GPIO口的UART的使用(串口通訊)
  在這裏插入圖片描述
  當前已經開啓了:
  在這裏插入圖片描述

關閉藍牙和調換串口

  藍牙用了不穩定的serial0藍牙數據肯定有問題,所以直接技能用藍牙,避免以後使用藍牙入坑。

sudo vi /boot/config.txt
dtoverlay=pi3-disable-bt

  在這裏插入圖片描述

reboot

  再看,將serial1分配給ttyS0了:
  在這裏插入圖片描述
  然後繼續測試,前面控制檯的問題補充一下,樹莓派默認將IO引出的串口用作於控制檯使用,在沒有網絡的時候,可以通過串口對樹莓派進行控制管理,所以經過前面的步驟做好串口映射交換後,還是不能正常地使用串口模塊進行通訊。需要禁用串口控制檯功能,使串口爲我們自由使用。
  分別通過如下兩個命令停止和禁用串口的控制檯功能。(由於我們前面已經交換了串口的映射關係,因此這裏注意是ttyAMA0。)

sudo systemctl stop [email protected] systemctl disable [email protected]

  還需要刪除配置:

sudo vi /boot/cmdline.txt

  在這裏插入圖片描述
  刪除後(刪除console=serial0,115200這條):
  在這裏插入圖片描述
  重啓,開始測試。

uno220uart不裝套件測試:成功

  發送測試:正常(中文亂碼,是編碼問題,不處理)
  在這裏插入圖片描述
  接收測試:正常
  在這裏插入圖片描述

minicom不裝套件測試:成功

sudo minicom -s

  在這裏插入圖片描述

  在這裏插入圖片描述

uno220uart裝套件測試:發送正常,接收失敗

  發送測試:正常(中文亂碼,是編碼問題,不處理)
  在這裏插入圖片描述
  接收測試:正常
  在這裏插入圖片描述
  在這裏插入圖片描述

sudo minicom -s

  在這裏插入圖片描述
  在這裏插入圖片描述
  突然注意到套裝的TXD線對應的usb轉ttl一直亮燈,估計是漏掉(串口發送則是閃爍,沒發送就是不良,一直亮肯定漏電,並且也確認了脫開uno220的套裝板正常。
  確認套裝額外加裝的有問題,套裝有漏電0.91V左右:
  在這裏插入圖片描述
  失敗原因:發送端漏電發送正常,接收端不漏掉接收端正常,所以是發送端的漏掉影響了接收端的接收。

 

測試485口:成功

  485口uno220套裝將串口給他加485出的,之前測試了串口有問題,希望485不一定有問題,所以繼續測試。
  485口接收和測試都沒有問題:
  在這裏插入圖片描述

 

結論:485、GPIO、RTC正常,232不正常

  至此,全部測試完畢,本套裝的串口TX有漏電影響通過套裝消息接收和發送。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章