TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Mongoose OS – An Open Source Operating System for the Internet of Things

185 pointsby j4miealmost 8 years ago

19 comments

grivealmost 8 years ago
&gt; Prototyping and Scripting Engine<p>&gt; Micropython Moving to production (C&#x2F;C++) or factoring out critical pieces to C&#x2F;C++ is not trivial<p>VS.<p>&gt; mJS - JavaScript engine for prototyping and C&#x2F;C++ for production<p>I don&#x27;t know much about it, but from the surface it seems that the problem is exactly the same? What is the benefit of prototyping in JS instead of Python? In the end, either you refactor everything purely in C, or you use both in your production system.<p>I see mJS does FFI to interface with other C routines. Why introduce a second language to your project? This seems like a huge overhead for no benefit (you&#x27;re still expected to write C at some point). The language is only a subset of JS, so &quot;not JS&quot;, so no ecosystem and new assumptions you have to redefine before getting serious with it?<p>Is it just me who thinks it&#x27;s a bad idea? Would someone be able to explain the advantage of going in this direction?
评论 #14958634 未加载
评论 #14958574 未加载
评论 #14971128 未加载
评论 #14960387 未加载
mijoharasalmost 8 years ago
&gt; GPLv2 license: FREE FOR NON-COMMERCIAL USE<p>This confuses me, the GPLv2 doesn&#x27;t say anything about commercial use, it merely says that you need to redistribute the source code to anyone that you distribute your software to.<p>Have they placed additional restrictions on the GPL (which I believe you are prohibited from doing)? or are they just trying to highlight that they are dual-licensing it under a license that isn&#x27;t copyleft if you pay them (since lots of companies have no-gpl policies)?
评论 #14957481 未加载
评论 #14957910 未加载
评论 #14957513 未加载
评论 #14960163 未加载
评论 #14958158 未加载
评论 #14961499 未加载
评论 #14965408 未加载
评论 #14959390 未加载
dmitriidalmost 8 years ago
&gt; FEATURED COMMUNITY PROJECTS<p>&gt; Door bell - ESP32, AWS IoT<p>&gt; Door sensor - ESP32, MC-38, AWS IoT&#x2F;MQTT, SNS<p>&gt; Smart heater on AWS IoT<p>&gt; IoT doorbell that works via MQTT - generic MQTT server, AWS IoT, Google IoT, etc<p>Why the hell would I want my door bell be controlled via MQTT on AWS?
评论 #14957510 未加载
评论 #14957316 未加载
评论 #14957307 未加载
评论 #14957509 未加载
评论 #14961150 未加载
kierenjalmost 8 years ago
You had me until the &quot;Pricing&quot; section.<p>The Old Way - Varies, depends on many factors. Requires ongoing investments, hiring developers or integrators<p>The New Way - GPLv2 license: FREE FOR NON-COMMERCIAL USE &#x2F; Commercial License: CONTACT US<p>So with Mongoose OS, you don&#x27;t have to invest, or hire developers? Am I being unfair by thinking that, while the other points make life easier, this is scraping the barrel a bit?<p>Why not just say &quot;and the price which gets you all of these advantages is..&quot; ?
评论 #14958818 未加载
robinduckettalmost 8 years ago
Bit of a confusing name, when there is already an extremely popular mongodb node.js framework called Mongoose
评论 #14957404 未加载
评论 #14957480 未加载
评论 #14958251 未加载
评论 #14957407 未加载
评论 #14958124 未加载
monocasaalmost 8 years ago
I really fail to see what this brings to the table.<p>In the section on their main page contrasting with arduino, they bascailly just say that they&#x27;re more reliable, with nothing to really back that up.<p>Looking at their documentation, I don&#x27;t really see how they can make that claim. The issues with Arduino&#x27;s reliability stems, IMO, from the fact that Arduino code isn&#x27;t an RTOS. Ie. there&#x27;s no separation of real time priorities. This also seems to not really be an RTOS either, just a fancy bare metal environment.<p>What is this structurally bringing to the table beyond Arduino other than &quot;we think we wrote the code better&quot;?
评论 #14960294 未加载
Dowwiealmost 8 years ago
&quot;The old way: Micropython&quot; &lt;-- what? really? old, already? They&#x27;re just getting warmed up, baby.
评论 #14957927 未加载
skratloalmost 8 years ago
But why Javascript? Clearly another hype-driven project. Please, use reason not hype when deciding on technology. This is fast food
评论 #14957829 未加载
评论 #14959244 未加载
评论 #14959839 未加载
dankohn1almost 8 years ago
If you&#x27;re considering embedded OS options, please look at these two (completely free) projects from the Linux Foundation:<p>Yocto project creates a custom embedded distro based on your needs <a href="https:&#x2F;&#x2F;www.yoctoproject.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.yoctoproject.org&#x2F;</a><p>Zephyr supports hardware that can&#x27;t easily run Linux <a href="https:&#x2F;&#x2F;www.zephyrproject.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.zephyrproject.org&#x2F;</a>
评论 #14959232 未加载
anujdeshpandealmost 8 years ago
A recent tweet that I found funny - &quot;Every time a conf organizer accepts a talk about #IoT using JavaScript ... somewhere in the world an IoT&#x2F;embedded developer ... dies !&quot;[1].<p>On a serious note though - Does anyone know a mass manufactured product (based on a uController) that actually uses anything other than C&#x2F;C++?<p>Rust is a strong contender too, surprised to not see it mentioned here. See an older discussion about Rust on ARM Cortex M[2]<p>1. <a href="https:&#x2F;&#x2F;twitter.com&#x2F;ppatierno&#x2F;status&#x2F;894575063562936321" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;ppatierno&#x2F;status&#x2F;894575063562936321</a> 2. <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14071282" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14071282</a>
评论 #14968741 未加载
hardwaresoftonalmost 8 years ago
Does the world need another open source operating system for the internet of things? I wonder if creating a new one was really necessary or if they could have built on top of one that already exists.<p>While I can&#x27;t say I know intimately all the problems that need to be solved for IoT to responsibly reach mass consumption, but I&#x27;m pretty sure having an operating system wasn&#x27;t the problem. Maybe this is just an enterprise cash grab?
评论 #14963230 未加载
legulerealmost 8 years ago
Written in C so we can continue enjoying IoT devices being exploited by buffer overflows.
j4miealmost 8 years ago
If I wanted to make something that (say) reports sensor readings over MQTT to AWS IoT, what firmware options are there? NodeMCU looked great (Lua!) but doesn&#x27;t seem to support X509 client certificates (which AWS needs). There&#x27;s Arduino, Mongoose, Micropython - any others? What&#x27;s the best way to go?
p4bl0almost 8 years ago
It&#x27;s sad that <i>security</i> isn&#x27;t one of the homepage sell points of this OS. It feels like IoT is severly in need of serious &quot;security by design&quot;. OS level would be a good start.
评论 #14963205 未加载
dawwalmost 8 years ago
Unfortunately the documentation is lacking and mJS (especially the ffi) is nowehere near production ready
bschwindHNalmost 8 years ago
Why don&#x27;t more people use FreeRTOS? I always find it to be a nice way to coordinate all the tasks you need to run in an embedded system, without having to manage a huge kernel like Linux. It&#x27;s also free so there&#x27;s that...
评论 #14962340 未加载
jaboutboulalmost 8 years ago
Okay, so lots of comments on here and most of them are just plain wrong, FUD or stem from simple misunderstanding. Also, lots of people not groking the value proposition. Let me take a crack at clarifying some key points.<p>So first off, the project is GPLv2 whether you use it for commercial or non-commercial use. The team&#x27;s first language is not English, they are actually Russian and based out of Ireland, so there is bound to be some confusion. What they were basically trying to say with that, is if you need the extra features and the backend, etc. Those are not GPLv2 but the project itself is--no matter how you use it--is. I mentioned it to them team and they already corrected the site.<p>Second, the value proposition behind this is tremendous. Remember the days before Unix and DOS&#x2F;Windows ran on every machine in the world? Every machine had its own design, its own arch&#x2F;cpu, its own OS, and its own interfaces. Computing was cool, but each machine was really an island. If you wanted to run your code on another machine then you had to port it over. Then Unix and CP&#x2F;M-80&#x2F;DOS came along and you could write something on one machine and it ran (almost) on anything with the same OS. Thats the name of the game here. This is groundbreaking for embedded&#x2F;IOT development.<p>Real embedded development is hard enough as it is. If you&#x27;re doing a one off project for something in your home, then its pretty straightforward. Now try and take that to a mass production-scale product and the level of complexity is increased 50x.<p>Imagine trying to bring a product to market, you need to pick a hardware platform&#x2F;MCU to build with. Now imagine your suppliers hit a chip shortage and you can&#x27;t use that chip, what do you? Sit back and wait for 6 months? What Mongoose OS allows you to do is write your code once and run it on multiple embedded platforms, you would just select another MCU, maybe make some minor modification to the pinouts, flash the firmware and BAM, you are back in business. Not to mention the fact that you have standard interfaces across all devices, MCUs, etc. It just makes development so much simpler.<p>Not only that, but you now have to manage potentially hundreds of thousands of devices (or millions if your product is really successful). What do you? How do you handle firmware updates? How do you track status of all those devices? How do you do customer support without a debug interface, well the enterprise offering (or something like AWS IOT) will help you manage that process and make your life a whole lot easier.<p>Now on the topic of why mJS vs. Python and a mix of C. You have to understand that embedded development is often <i>EXTREMELY</i> resource constrained. mJS fits into ~25K of flash space and less than 1K of RAM. This is awesome. It affords you the smallest possible functionality with the greatest possible flexibility. Write your logic in js and then call C for anything more critical&#x2F;performance.<p>I asked one of the team members and basically what he said was (I paraphrase) that mixing C with a scripting language is a pretty production ready solution. Obviously its preferable to write the critical pieces in C and then the higher level logic in the higher level language. It would be ideal if you could have type safety and compile-time checks in the high-level language. The ideal language to write logic in would be Go, and Go 2 promises to have a smaller runtime&#x2F;footprint so hopefully one day that will be a possibility.<p>In terms of everyone else talking about how the project is positioning itself, well let&#x27;s just say that marketing is a work in progress ;)
评论 #14965158 未加载
评论 #14965148 未加载
m-p-3almost 8 years ago
Interesting, I&#x27;ll have to look into it when I build some prototype (just a personal hobby-type of project) with my ESP8266.
mkjalmost 8 years ago
&quot;Better. Cheaper^. Faster&quot;<p>^ Contact us for pricing