使用 Node.js 控制網路連線管理員
既然以『國內首屈一指的 JavaScript 專家』為目標,使用 JavaScript 打造作業系統就是我們的終極目標。未來會將先前的 Flat Project(可參考舊文 Flat Project Demo - An OS for Tablets 平板作業系統 和 Flat Project - 從山寨做起,親手打造炫麗的平板系統)以 JavaScript 重新架構,實作並提供一個更易於開發應用的環境。當然,就像過去所說,無論有多困難,產品化一直是我們的目標。
既然要開發作業系統,就要讓 JavaScript 能直接觸碰到系統層級或硬體裝置的控制,我們必須實作各種 JavaScript API 去達成這個目的,而前些日子所提及的『node-dbus』和『jsdx-toolkit』就是在做這類的工作。現在,基於 node-dbus,我們進一步和『connman(Connection Manager)』連接,實作出『jsdx-connman』,提供 JavaScript 網路管理機制的 API。這代表我們可以藉由 jsdx-connman 去控制無線、有線網路,甚至是WiMax、藍芽等各種連線介面。
如果想要嘗試 jsdx-connman,可以直接使用 NPM 安裝:
這邊有個範例,讓我們可以使用 jsdx-connman API 去得知無線裝置的狀態和掃描當前環境的 Wifi 無線基地台:
後記
身為國內的小軟體公司,我們沒有太多的資源,也沒有太多的設備和環境。所以開發出來的東西不可能盡善盡美,更不可能在所有機器上都能運作良好。如果運作上有遭遇到任何問題,歡迎回報。:-)
既然要開發作業系統,就要讓 JavaScript 能直接觸碰到系統層級或硬體裝置的控制,我們必須實作各種 JavaScript API 去達成這個目的,而前些日子所提及的『node-dbus』和『jsdx-toolkit』就是在做這類的工作。現在,基於 node-dbus,我們進一步和『connman(Connection Manager)』連接,實作出『jsdx-connman』,提供 JavaScript 網路管理機制的 API。這代表我們可以藉由 jsdx-connman 去控制無線、有線網路,甚至是WiMax、藍芽等各種連線介面。
如果想要嘗試 jsdx-connman,可以直接使用 NPM 安裝:
npm install jsdx-connman
這邊有個範例,讓我們可以使用 jsdx-connman API 去得知無線裝置的狀態和掃描當前環境的 Wifi 無線基地台:
var ConnMan = require('jsdx-connman'); var connman = new ConnMan(); connman.init(function() { if (connman.Wifi.Powered) console.log('Wifi is powered'); else console.log('Wifi is not powered'); if (connman.Wifi.Connected) console.log('Wifi is connected'); else console.log('Wifi is not connected'); console.log('Scanning Access Point...'); connman.Wifi.Scan(function() { connman.Wifi.ListAPs(function(list) { console.log('Got ' + list.length + ' Access Point(s)'); for (var index in list) { var ap = list[index]; if (ap.Name) console.log('[' + ap.Name + ']'); else console.log('[*hidden*]'); console.log('Strength: ' + ap.Strength + '%'); console.log('Security: ' + ap.Security); console.log(''); } }); }); });
後記
身為國內的小軟體公司,我們沒有太多的資源,也沒有太多的設備和環境。所以開發出來的東西不可能盡善盡美,更不可能在所有機器上都能運作良好。如果運作上有遭遇到任何問題,歡迎回報。:-)
留言
張貼留言