# 樹莓派與Python仿真
> 樹莓派是一款基于 ARM 的微型電腦主板,以 SD/MicroSD 卡為內存硬盤,卡片主板周圍有 1/2/4 個 USB 接口和一個 10/100 以太網接口 (A 型沒有網口),可連接鍵盤、鼠標和網線,同時擁有視頻模擬信號的電視輸出接口和 HDMI 高清視頻輸出接口,以上部件全部整合在一張僅比信用卡稍大的主板上,具備所有 PC 的基本功能只需接通電視機和鍵盤,就能執行如電子表格、文字處理、玩游戲、播放高清視頻等諸多功能。它是一系列為編程教育而設計的只有信用卡大小的微型電腦(單板計算機),擁有豐富的硬件接口,能夠安裝任何ARM平臺的操作系統,比如Linux的一些發行版、Android、Windows IoT等。
> 運用樹莓派,可以快速的部署IOA的虛擬控制終端、圖像處理終端,為IOA虛擬仿真引擎的部署提供所有必須的運算資源。同時,樹莓派的使用貼近真實的工業場景,能夠在仿真完成后快速部署到工業場景的實體產線當中,能夠大大加速開發效率。

> *本教程適用于已經對樹莓派和linux操作系統有一定了解的用戶,若沒有樹莓派使用經驗,可參照以下鏈接了解樹莓派的基礎使用方法:*
> [樹莓派鏡像燒寫與開機](https://zhuanlan.zhihu.com/p/363463625)
> [Linux基礎教程](https://www.runoob.com/linux/linux-tutorial.html)
## 軟件需求
>* [IOA虛擬仿真軟件(Windows端)](http://www.ioaol.com/)
>* Python解釋器(樹莓派端)
> * [[Python驅動庫]](//down.ioaol.cn/004C54B39E870007)
## 工作原理
>IOA虛擬仿真引擎將場景內虛擬相機實時捕獲的圖像信息利用tcp協議發送出去,python程序接收該信息后對圖像進行處理,得到處理結果后利用tcp協議控制場景內虛擬控制器
## 軟件安裝
>* 在樹莓派端打開一個新的終端,并輸入
```
sudo apt install python3
sudo apt install python3-pip
pip install modbus_tk imutils opencv-python
```
## 測試工程——視覺
> 1. 打開IOA軟件
> 2. 從素材庫中拖出一個**視覺相機**
> 3. 從素材庫中拖出一個**矮紫色塊**(也可以是其他物體,用于檢測視覺相機是否能看到圖像)
> 4. 將兩個物體移動至合適位置,使視覺相機能夠看到目標物體
> 
> 5. 在樹莓派端打開python文件,并修改IP地址為PC端IP地址
>
> 6. 在文件所處目錄下打開終端并運行即可看到攝像頭捕捉的結果
> `python3 filename.py`
> 
```
注意:在獲取img后,可以使用Opencv、numpy等多種api對圖像進行處理,也可以利用tensorflow、pytorch等深度學習推理框架對該圖片進行深度學習推理
```
## 測試工程——虛擬控制器
> 1. 打開IOA軟件
> 2. 點擊**控制器**, **添加**, 控制器類別選擇**自定義控制器**,點擊**確定**
> 
> 3. 修改紅色框位置IP地址為樹莓派IP地址與端口
> 4. 在樹莓派端打開代碼,修改紅色框位置IP地址為樹莓派端IP
> 5. 在樹莓派端運行該程序,在IOA軟件內**控制器**界面點擊**連接**
> 6. 在場景內拖出一個LED燈,并將其配線至自定義控制器DO00管腳,可看到LED燈閃爍
- IOA-更新與安裝
- 軟件注冊與安裝
- 軟件使用協議
- 注冊與使用
- (一)、認識IOA基礎界面功能
- UI界面與設置
- 軟件環境設置
- 三維導航操作
- 3D導航球使用
- 快捷鍵與仿真
- IOA開發工具下載匯總
- (二)、三維場景搭建
- 坐標及旋轉
- 模型樹與拼接
- 從SolidWorks到IOA放置的模型自制
- IOA輔助工具
- (三)、虛擬電氣與調試
- (三)、虛實控制與編程
- 西門子PLC的仿真與控制
- 實體S7-1200控制器的添加
- 虛擬S7-1200控制器的添加
- 西門子PLCS7-1512控制器的添加
- 三菱PLC的仿真與控制
- 三菱PLC仿真器的使用說明
- 三菱PLC的添加與說明
- 工業機器人(納博特)仿真
- 工業機器人(KEBA)仿真
- 工業機器人(埃夫特)仿真
- 協作機器人(遨博)仿真
- 運動控制(ZMC308)正運動仿真
- 機器視覺(VPLC516)正運動仿真
- 微型機器人(開塔)仿真
- 開塔機器人使用教程
- IOA與開塔機器人仿真
- 工業機器人(ABB)仿真
- Py-teach快速編程仿真
- Py-teach與IOA仿真
- Py-teach語法與編程
- Python編程與仿真
- Python與IOA仿真方法
- Python編程API說明
- 樹莓派與IOA仿真
- EAIDK610與IOA仿真
- 單片機接入與仿真控制
- Mixly與IOA
- ArduinoIDE
- Mixly-MEGA_S虛擬工廠SDK
- Mixly-UNO_S虛擬工廠SDK
- Mixly-ESP32虛擬工廠SDK
- (四)、自定義控制器添加
- modbus-tcp自定義控制器