6 ms·
ARM Mbed IoT Device Platform
- deleted 11y ago[deleted]
- danielvf 11y agoSince it took me far to long to find actual code, here's the hello world equivalent getting started code. https://docs.mbed.com/docs/getting-started-mbed-os/en/latest/FirstProjectmbedOS/ https://docs.mbed.com/docs/getting-started-mbed-os/en/latest...
- officialchicken 11y agoInsecurity of things... by default, the connection is insecure [1][2] and unencrypted. But at least they're starting to move in the right direction [3], if you have a commercial license. [1] https://docs.mbed.com/docs/mbed-client-guide/en/latest/Howto/#security-object-resources https://docs.mbed.com/docs/mbed-client-guide/en/latest/Howto... [2] https://docs.mbed.com/docs/mbed-client-guide/en/latest/api/classM2MSecurity.html https://docs.mbed.com/docs/mbed-client-guide/en/latest/api/c... [3] https://github.com/ARMmbed/mbedtls https://github.com/ARMmbed/mbedtls *edit: formatting
- IshKebab 11y agomBed TLS is Apache 2. You don't need a commercial license.
- DyslexicAtheist 11y ago1. The link you provided is about LWM2M Security Object, not about how the mbed client connects to mbed Device Connector (https://connector.mbed.com/ https://connector.mbed.com/). 2. To get a better feeling on how a device would actually connect to the server, here's an easy to follow example: https://github.com/ARMmbed/mbed-client-linux-example https://github.com/ARMmbed/mbed-client-linux-example - this can be built & run on an Ubuntu machine. (Note: there are some prerequisities, as explained in https://github.com/ARMmbed/mbed-client-linux-example/blob/master/README.md https://github.com/ARMmbed/mbed-client-linux-example/blob/ma...) 3. You can see in main.cpp (https://github.com/ARMmbed/mbed-client-linux-example/blob/master/source/main.cpp https://github.com/ARMmbed/mbed-client-linux-example/blob/ma...) that we're using certificate mode (line 128), and that's also on free accounts
- danjayh 11y agoEvery time I see Linux used in a project like this, it feels like hitting a trim nail with a sledgehammer. I hadn't seen mbed OS prior to this article, and after perusing the documentation and checking license (apache), I have to say I'm pretty stoked about it. mbed os seems to be far better suited for tiny / lightweight devices than Linux ... anybody used it in an actual project? Have any thoughts to share?
- johnny22 11y agothe little microprocs I'm dealing with, couldn't even run Linux (256kb storage, and 32kb ram). I'm using it, but only for prototyping so far. Works nice enough so far, except that I'm not very good at C/C++! The ecosystem their setting up around their yotta tooling is very promising.
- pedalpete 11y agoI've been doing a bit more than poking around in this space, and I'm curious what your language of preference and hardware specs are? Something like an esp8266? Or smaller?
- IshKebab 11y agoI've used it a lot. It's basically Arduino but designed by people who actually know what they're doing. There are also a much wider variety of boards available: https://developer.mbed.org/platforms/ https://developer.mbed.org/platforms/ Some of them are really cheap, e.g. the ST Nucleo boards are about £6. The only reason I can see anyone would choose Arduino over mBed is if you really need native 5V. One could also argue that while the Arduino "IDE" is totally awful in almost every way, at least they have one. mBed currently only has an online IDE which is powerful but slow and online, or Yotta which is nicely written but currently command line only, and only supports a few boards.
- Sanddancer 11y agoThere is a glaring, painful hole in the current mBed IoT platform as it currently stands which unfortunately is something recurrent throughout the IoT ecosystem. There are no server functions. If your device is going to pulling and pushing to the mothership, and only the mothership, then the API they gave is adequate. However, if you want your IoT temperature nodes to be able to talk to your IoT vent register nodes, you have to have both of them polling the main server to fetch and get data, and have both become expensive paperweights when your internet connection drops. It seems to be a recurrent problem with the mbed universe. The mbed editor, which they're going to be revamping Real Soon Now, has very much the same problem, where losing internet connectivity means that you're without an editor until whatever problem is corrected. IoT is only really going to be useful if the Things can talk back, otherwise, you're just going to have half-assed toys.
- danjayh 11y agoI took a look at the mbed os socket API, and it supports opening a socket in 'listen' mode. With a few lines of code, you should be able to build this into a basic server. What functionality is missing that would be required for the use cases you mention? Relevant link: https://docs.mbed.com/docs/arm-ipv66lowpan-stack/en/latest/11_API_sockets/index.html https://docs.mbed.com/docs/arm-ipv66lowpan-stack/en/latest/1...
- Sanddancer 11y agombed's documentation is an absolute mess, with islands of information and little to no linking to relevant places. I had been looking at their mbed client api -- https://docs.mbed.com/docs/mbed-client-guide/en/latest/ https://docs.mbed.com/docs/mbed-client-guide/en/latest/ -- which only supports client -> their server activities, and doesn't link at all to the lower level APIs. The socket support they provide is also a lot more limited than other RTOSes that target Arm Cortex-M devices, for example TI RTOS and NXP's MQX both offer IPv4, and full IPv6. Then again, it seems to typify a lot of ARM's software offerings. They have Keil uVision, which is an Eclipse-based IDE, that is barely mentioned at all in the various mbed documentation, and doesn't have any integration with their newer toolchain they seem to be building up. It just gives a very unfocused feeling in general regarding using their toolings.
- pasiaj 11y agoOne of the best things about all this is ARM buying and open sourcing PolarSSL. We at Thingsee have been using another POSIX-like RTOS called NuttX, but there was no viable free SSL-library with low memory profile before that anyone could use.
- siscia 11y agoAll I am looking for is a couple of devices that you pair together. The first devices should only be able to read values from some standard input source and transmit them in a secure way to the second device. The second devices, the receiver, should only be able to receive values from a swarm of transmitter and stream values over via USB. Those devices should be crazy cheap, actually they do close to nothing, very power efficient, open source and without whistle and bells... No integrated editor (why do I need an editor anyway), no integrated dashboard or data collect services, that can be easily implemented later... Is there anything similar ? Edit: USB, not TCP/UDP
- jakobdabo 11y agoTeensy LC - https://www.pjrc.com/teensy/teensyLC.html https://www.pjrc.com/teensy/teensyLC.html
- siscia 11y agoNice, but don't quite what I was looking for. The really missing piece is the connectivity, I need something that can read data somehow and then transmit a point A to a point B, where A and B are at least 1km away from each other...
- deleted 11y ago[deleted]
- pjc50 11y agoThe 1km requirement is the killer for this plan, as you run into radio regulatory requirements. There is the "Weightless" system operating in the old analog TV bands, but I'm not sure that's made it into shipping products yet. https://en.wikipedia.org/wiki/Weightless_%28wireless_communications%29 https://en.wikipedia.org/wiki/Weightless_%28wireless_communi...
- asmithmd1 11y agoThese aren't crazy cheap but meet all your other requirements: http://flutterwireless.com/ http://flutterwireless.com/ LoRa is a low power,low data rate modulation scheme that can transmit miles. Modules are starting to be available: http://www.microchip.com/design-centers/wireless-connectivity/motor-control/lora-technology http://www.microchip.com/design-centers/wireless-connectivit...