我們用PHP開發(fā)了一套物聯(lián)網(wǎng)平臺ThingsPanel,這里說說用PHP開發(fā)物聯(lián)網(wǎng)平臺到底怎么樣,順便回答大家都關心的一些問題。我是做產(chǎn)品的,所以我的回答也是從產(chǎn)品的角度來談的。
為什么用PHP開發(fā)物聯(lián)網(wǎng)平臺,首要的原因是我們的團隊都很熟悉PHP,一直在做PHP,用自己習慣的工具容易做好一個事情。語言具有先天的優(yōu)勢或者劣勢,但是并不是最主要的,最主要的還是誰在寫這個系統(tǒng)。同樣的一支鉛筆,握在你手里,我手里,和握在梵高、莫奈手里是完全不同的。
PHP能不能開發(fā)物聯(lián)網(wǎng)平臺,我們都做出來了,那就是當然能,之所以能,從我們的系統(tǒng)設計架構來看。
系統(tǒng)最主要的就是要大并發(fā)高性能的與設備對接,接收設備發(fā)送來的數(shù)據(jù),這個是主要的瓶頸,在這方面來說,有一個東西非常好,那就是Swoole,Swoole可以將PHP與物聯(lián)網(wǎng)緊密的聯(lián)系起來。
Swoole是一個面向生產(chǎn)環(huán)境的 PHP 異步網(wǎng)絡通信引擎,使 PHP 開發(fā)人員可以編寫高性能的異步并發(fā) TCP、UDP、Unix Socket、HTTP,WebSocket 服務。Swoole 可以廣泛應用于互聯(lián)網(wǎng)、移動通信、企業(yè)軟件、云計算、網(wǎng)絡游戲、物聯(lián)網(wǎng)(IOT)、車聯(lián)網(wǎng)、智能家居等領域。
在 Swoole 的加持之下,PHP 現(xiàn)在可以開發(fā)物聯(lián)網(wǎng)(MQTT),PHP 需要處理 MQTT 協(xié)議解析,這就要使用到 Swoole 擴展,它提供了一個選項,open_mqtt_protocol ,使你可以用PHP把物聯(lián)網(wǎng)的主要通信協(xié)議MQTT與系統(tǒng)連接了起來。
有一篇文章“Swoole支撐百萬并發(fā)網(wǎng)絡連接,解決物聯(lián)網(wǎng)服務器云端問題”中說,在技術層面上,Swoole可以支撐百萬并發(fā)網(wǎng)絡連接,純C++開發(fā)性能強,穩(wěn)定性佳,支持 PHP 動態(tài)腳本語言,開發(fā)效率比 C++/Java 高出10倍。
使用了這個之后,與設備打交道的高性能問題被解決了,剩下的就是和數(shù)據(jù)庫打交道,為前端界面提供接口,這些就進入常規(guī)的開發(fā)領域了,
跨過了高山,剩下的一馬平川。剩下的問題就變簡單了。
所以答案就是當然可以搞,你看我們不就搞出來了嗎?