Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
篇文章提到手機APP通過TCP局域網的方式和PLC通訊,就在考慮外網如何實現。
查詢了很多資料,主要是通過物聯網協議MQTT通訊實現。
一,實現外網控制的幾種方式
1,西門子S7-1200或者1500系列PLC本身支持MQTT協議的
PLC連接外網的情況下,通過對應庫做MQTT客戶端連接到服務器,手機APP再連接MQTT服務器,實現數據交換,這個我摸索了好久,沒摸索明白,就放棄了。
2,對于不支持MQTT協議的PLC可以通過物聯網網關實現,購買一個有人或者巨控之類的網關,這個方式相對簡單,手機端和云端APP都是廠家開發好的,缺點是價格貴些。
3,第三種方式就我用的方式,簡單描述就是一臺可以上網的電腦,一邊連著PLC,一邊做MQTT客戶端,和手機APP連到通一個MQTT服務器進行通訊,如下圖
手機APP使用MIT APP平臺開發,上文有介紹,各位可以看看。
而我用云服務器代替了電腦,想練習的朋友不用云服務器,用普通電腦也行的,PLC連到了蒲公英路由器,通過蒲公英的異地組網功能實現云服務和PLC連接,如下圖
云主機(隨意一臺電腦也行,一下用電腦代替),怎樣接PLC的數據發送到手機呢?這里只要用到一個工具 Node-red,如下
它是完全免費的,可以一邊讀寫PLC數據一邊訂閱和發布MQTT消息,等同于免費物聯網網關。
二,簡單程序編寫
1,node-red和PLC通訊
node-red怎么安裝各位自己搜索就好,或者找我要鏈接,這里不多講啦,先講Node-red怎么和PLC通訊,安裝完畢后直接瀏覽器輸入 HTTP://localhost:1880,或者127.0.0.1:1880進入編程界面,剛安裝的是沒有和西門子PLC通訊的插件的
如上圖,設置進入控制板,然后搜索s7,添加S7的PLC的插件,安裝完畢就有讀取和輸出的圖標,拖出來用就行。
下面是配置PLC的通訊參數
需要讀取的點
地址格式參考這個網站 https://www.mqtt.cn/1245.html
下面是寫入PLC的數據,通訊參數和讀取的一樣
地址是一串字符串,處理方式和上文TCP局域網的處理一樣。
發給PLC,PLC收到的數據是
輸出為1的位置就表示對應的Q輸出
2.node-red和MQTT服務器的通訊
MQTT服務器用的這個免費的
地址和端口設置好,主題設置為hyxhyx
這樣,node-red就會將我需要的數據按周期發送到MQTT服務器,IOData就是對應Q的輸出狀態,1標識ON中,0標識OFF 中
下面是用MQTT客戶端測試數據是否正常發出,如下圖訂閱的主題是hyxhyx,能正常收到數據
下圖是訂閱一個主題為"hyxhyx1'的消息,
是將手機APP發送的數據傳到MQTT服務器,MQTT服務再給node-red,node-red將數據寫入PLC的地址 DB99里面的0開始的地址,然后PLC處理數據
3,PLC和手機APP處理
上面大家也看明白了,node-red,MQTT服務器客戶端,都是中轉,為了讓APP能和PLC能進行數據交換,下面簡單介紹PLC數據處理。
PLC傳輸到APP
浮點數數據都是轉字符的,開關也是字符表,0表示OFF中,1表示ON中
下面是PLC收到的數據,一大串字符,比如PT4101的壓力是28.387
如下圖,搜索整個字符串PT4101的位置,然后提取出來,
開關量數據一樣
這是讀取的PLC數據,
下面看看控制Q點開關如何編寫
點擊取反
所有內容合成一串
合成一串后以"hyxhyx1"主題發布
訂閱主圖hyxhyx1測試
PLC收到的內容
程序判斷是字符1輸出
以上是簡單的控制,實際使用肯定需要加一些保護,比如心跳檢測,APP是否和PLC通訊上等考慮。
1、視覺設計師
App Builder為我們提供了許多視覺和非視覺控件,我們可以將它放在應用程序的設計器中。 定時器,HTTP客戶端,文本輸入,按鈕和更多可供使用的控件。
2、基于行動
您無需了解Javascript即可創建應用程序。 App Builder腳本基于視覺輔助操作,我們可以使用它來執行任何我們想要的操作。 開箱即用的數百項行動可用。
3、完全可擴展
App Builder的應用程序可以通過多種方式進行擴展。 除了基于動作的腳本之外,我們還可以使用Javascript。 我們可以開發和使用第三方App Builder的Javascript插件以及Apache Cordova?插件。
4、沒有多余的代碼編輯
不必擔心Openbiz Appbuilder是否生成了大量冗長的代碼,它生成的實際上是只用于描述邏輯關系的元數據。當它運行的時候Openbiz底層框架中的對象工廠會負責將這些元數據“組裝”為所需的對象
1、首次從本站下載并解壓后,即可App Builder 2022源程序和破解文件
2、雙擊“AppBuilder64.exe”文件,接受軟件安裝協議
3、依提示進行下一步,按默認目錄進行安裝
4、耐心等待安裝完成之后,點擊finish退出引導
5、此時,將Crack破解文件夾中的破解補丁復制到軟件安裝目錄下,然后點擊“Patch”按鈕即可
默認安裝路徑為【C:\Program Files\DecSoft\AppBuilder】
6、至此,打開App Builder 2022,即可看到軟件已經激活成功啦,可以免費使用所有功能哦
1、【可視化設計】
App Builder 為我們提供了數十種可視化和非可視化控件,可以放置在應用程序的設計器中。只需將您需要的控件拖放到設計器中,然后將其放置在您想要的位置即可。
2、【上下文幫助】
DecSoft App Builder 有一個上下文幫助,可以準確地將您指向控件、屬性、事件引用等。只需在 IDE 中按 F1 鍵即可
3、【阿帕奇科爾多瓦】
DecSoft App Builder 與 Apache Cordova 集成,為您的應用程序準備正確的配置文件、平臺圖標、啟動畫面、批處理文件、shell 文件和 JSON 文件。DecSoft App Builder 還集成了官方的 Apache Cordova 插件
4、【快速代碼列表】
DecSoft App Builder 代碼編輯器為您提供了快速代碼列表。快速代碼列表可幫助您更快地編寫 Javascript 代碼,提供所有可用的控件屬性、方法等
5、【應用程序文件管理器】
DecSoft App Builder IDE 為您的應用程序整合了正確的文件管理器,因此您可以鏈接 Javascript 和樣式表文件,還可以添加圖像、其他文件(如 JSON 文件)甚至整個目錄,以便在您的應用程序中使用運行
6、【用戶功能】
除了可用的應用程序方法和應用程序視圖、應用程序對話框、應用程序框架、Apache Cordova 插件方法以及您可以使用的所有可能的控件提供的方法之外,還可以設置您自己的用戶功能以便在運行時可用于您的應用程序
7、【自動縮放應用程序】
有許多主題可供您的應用程序使用,您還可以設置固定樣式和縮放樣式,即使在運行時也是如此。自動縮放樣式使應用程序正確顯示在不同的屏幕尺寸
來源:http://www.3h3.com/soft/259847.html
家好,這里是 「@手機編程」,我是作者:舞劍,記得「關注我」
前面講解了 Termux 的下載方式以及基礎設置,大家對于這款神器APP了解的不少,接下來就是喜聞樂見的開發環境安裝環節,php、Python、Java……等等。
有了這些開發環境,Termux才能稱得上是神器。
Python 是非常適合新手的一款編程語言,入門簡單,代碼簡潔,來看看怎么安裝 Python。
安裝 Python3
前面寫過,Termux 的安裝命令是pkg,打開 APP,直接輸入如下命令:
稍等片刻會提示:需要下載49M的包,以及292M的手機存儲,是否繼續?
直接輸入: Y,回車確認即可。
再等一會,Python 就安裝成功了。
根據反饋,安裝的 Python 版本為 3.8.5。
終端輸入 Python 試一試是不是真的成功安裝了?
進入了 Python 交互模式,看到一切正常。
OK,是不是很簡單!
運行 Python
運行一個 Python 腳本,有兩種方法。
第一種,直接在 Python 交互模式中編寫,但交互更多用于測試,對于大一點的腳本來說太不友好了。
第二種,在編輯器中編寫 .py 后綴的 Python 腳本,然后在終端輸入命令:
其實還有一種方法,可以用 Jupyter,這是一個很強大 web端 可視化工具,比起單純的 python 交互模式強大了不止百倍,可以安裝許多插件,代碼補全等等。
關于 Jupyter,不在今天的討論范圍內,后面再寫。
PIP庫安裝
Python 最強大的地方就是五花八門的插件庫,numpy、requests、lxml……,正是這些現成庫的存在,Python才成為最熱門也最容易開發的語言。
pip 是 Python 官方的包管理工具,用來對 Python 包的安裝、卸載、查找,下表介紹了 pip 常用命令:
安裝,不用多說了,就是安裝包。
卸載同上。
查找包,顧名思義,可以查找包。
最后一個顯示包,則是用來顯示包的一些基本信息,例如安裝位置或者依賴等等。
話不多說,安裝試試。
lxml包安裝
lxml,爬蟲必備包,用來解析 HTML 或 XML 文檔,速度極快,但安裝總是出錯,百度一搜,都是求助貼。
#
太難了!
別急,我來幫你!
只需要輸入三個命令就行了。
代碼如下:
這是來自基安@Ecodemo的方法,首先安裝 libxml2 libxslt,然后再安裝 cpython,最后直接安裝 lxml
親測成功安裝了!
測試看看是不是真的成功了,別看著安裝了卻不能用。
先進 Python 交互模式,然后輸入:
如下所示
沒有錯誤,一切正常,說明我們安裝成功了。
PS:忘記說了,退出Python交互模式的命令是 CTRL+z
關于 Python 的安裝以及 pip包 的使用方法大致就是這些,今天就到這里,更多使用方法以及技巧教程后面繼續更新,記得關注我!
另外,新手強烈建議使用 Pydroid 這款 IDE,優勢很大,代碼補全,pip安裝省心,具體請看文章:「 吊打QPython的集成開發環境,無廣告,無BUG,已完美解鎖 」
Termux 系列教程:
1. Termux,跑在Android上的Linux系統,真正的大殺器!
2. Termux系列教程㈠:新手必做的初始化配置!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。