物联网软件IoT.js、JerryScript、Smart.js、Calvin介绍
轉(zhuǎn)載自: Linux幫助
原文鏈接:https://www.linux110.com/ruanjian/904.html/
聲明: 感謝作者!如有侵權(quán),請(qǐng)聯(lián)系我刪除!
以下為你介紹的物聯(lián)網(wǎng)軟件都可用在Linux系統(tǒng)上:IoT.js(物聯(lián)網(wǎng)框架)、JerryScript(物聯(lián)網(wǎng) JavaScript 引擎)、Smart.js(JavaScript 物聯(lián)網(wǎng)庫(kù))、Calvin(物聯(lián)網(wǎng)應(yīng)用開發(fā)平臺(tái))。
1、IoT.js(物聯(lián)網(wǎng)框架)
IoT.js 旨在為物聯(lián)網(wǎng)提供一個(gè)基于 Web 技術(shù)的可相互操作的服務(wù)平臺(tái)。IoT.js 的目標(biāo)是要在資源受限的設(shè)備上良好運(yùn)行,例如只有幾 KB 的 RAM。所以它支持廣泛的物聯(lián)。IoT.js 只是邁出了一小步,今后它會(huì)和對(duì)物聯(lián)網(wǎng)感興趣的開發(fā)者共同實(shí)現(xiàn)目標(biāo)。
快速開始:
下載地址:https://github.com/jerryscript-project/iotjs/
2、JerryScript(物聯(lián)網(wǎng) JavaScript 引擎)
JerryScript 是一個(gè)輕量級(jí)的 JavaScript 引擎,它可以運(yùn)行在受限制的設(shè)備上,例如微控制器:
- 只有幾 KB RAM 能運(yùn)行引擎的設(shè)備(<64 KB RAM)。
- 只能為代碼引擎提供有限 ROM 空間的設(shè)備(<200 KB ROM)。
該引擎支持設(shè)備上編譯,提供從 JavaScript 到外設(shè)的訪問(wèn)。
JerryScript的主要特征:
完全符合ECMAScript 5.1標(biāo)準(zhǔn)。
為ARM Thumb-2編譯時(shí),二進(jìn)制大小為160K。
大量?jī)?yōu)化以降低內(nèi)存消耗。
使用C99編寫,以實(shí)現(xiàn)最大的可移植性。
快照支持將JavaScript源代碼預(yù)編譯為字節(jié)碼。
成熟的C API,易于嵌入到應(yīng)用程序中。
代碼示例:
{jerry_init (JERRY_FLAG_ENABLE_LOG);char script [] = "print ('Hello, World!');";jerry_parse (script, strlen (script));jerry_run ();jerry_cleanup (); }獲取資源:
git clone https://github.com/jerryscript-project/jerryscript.git cd jerryscript構(gòu)建JerryScript:
python tools/build.py下載地址:https://github.com/jerryscript-project/jerryscript/
3、Smart.js(JavaScript 物聯(lián)網(wǎng)庫(kù))
Smart.js 是通用的,硬件獨(dú)立的,全棧物聯(lián)網(wǎng)平臺(tái)。Smart.js 解決了所有汽車都容易遇到的可靠性,可伸縮性,安全和遠(yuǎn)程管理問(wèn)題,可以用于工業(yè)自動(dòng)化,醫(yī)療,汽車,家庭自動(dòng)化等等。
Smart.js 是嵌入式 JavaScript 引擎,支持 C/C++ 網(wǎng)絡(luò),文件,數(shù)據(jù)庫(kù)和設(shè)備接口。
當(dāng)前支持的硬件:Espressif ESP8266 (since ALPHA1)。
4、Calvin(物聯(lián)網(wǎng)應(yīng)用開發(fā)平臺(tái))
Calvin 介紹:
-
Calvin 是愛(ài)立信推出的開源其物聯(lián)網(wǎng)IoT應(yīng)用開發(fā)平臺(tái)。
-
Calvin面向分布式物聯(lián)網(wǎng)云計(jì)算開發(fā),包含了一個(gè)物聯(lián)網(wǎng)應(yīng)用開發(fā)框架和物聯(lián)網(wǎng)應(yīng)用的運(yùn)行時(shí)環(huán)境。愛(ài)立信為Calvin設(shè)定的宗旨是讓物聯(lián)網(wǎng)開發(fā)變得更加簡(jiǎn)單有趣,開發(fā)者無(wú)需為通訊協(xié)議或硬件規(guī)格等操心。
-
Calvin的開發(fā)基于成熟模型,采用了一種稱為“數(shù)據(jù)流編程”的方法。
Calvin的優(yōu)點(diǎn):
- Calvin的runtime擴(kuò)展性非常好,基礎(chǔ)功能非常簡(jiǎn)潔,可以在很小的物聯(lián)網(wǎng)設(shè)備商運(yùn)行,同時(shí)也能充分調(diào)用云端的計(jì)算性能。Calvin的編 程模型對(duì)云、設(shè)備、智能手機(jī)/傳感器、客戶端/服務(wù)器一視同仁,采用相同的范型。因此在Calvin上開發(fā)的應(yīng)用在部署時(shí)無(wú)需擔(dān)心具體的硬件規(guī)格。開發(fā)和 部署也是相對(duì)獨(dú)立的,在不同的計(jì)算節(jié)點(diǎn)遷移應(yīng)用時(shí)也無(wú)需修改代碼,同樣的,修改代碼也不會(huì)影響應(yīng)用在原有計(jì)算節(jié)點(diǎn)上的部署。
實(shí)時(shí)上Calvin應(yīng)用甚至可以在runtime環(huán)境間進(jìn)行熱切換。
對(duì)于廣大IoT物聯(lián)網(wǎng)開發(fā)者來(lái)說(shuō),Calvin的賣點(diǎn)是簡(jiǎn)化的編程模型,強(qiáng)大的通訊功能和便捷的部署機(jī)制。復(fù)雜性被隱藏后,物聯(lián)網(wǎng)開發(fā)變得更加高效,同時(shí)應(yīng)用更加魯棒,代碼中的錯(cuò)誤也更少。
入門:
可以使用以下方法:
下載地址:https://github.com/EricssonResearch/calvin-base/
注明
以上就是物聯(lián)網(wǎng)軟件IoT.js、JerryScript、Smart.js、Calvin的介紹內(nèi)容,這些物聯(lián)網(wǎng)軟件都能使用在Linux操作系統(tǒng)中。
總結(jié)
以上是生活随笔為你收集整理的物联网软件IoT.js、JerryScript、Smart.js、Calvin介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 嵌入式Linux基础学习笔记-文件IO编
- 下一篇: ROS消息格式-vision_msgs/