NoCAN: the wired Arduino-compatible IoT platform for makers. - Page 1
Forum section: electronics / general

author: L1L1
author_rank: Regular Contributor
timestamp: May 07, 2019, 03:19:16 pm
content: Hi all,I'm a fond reader of these forums and I'd like to share with you an open-source/open-hardware project I've built over the past couple of years: "NoCAN, the wired Arduino-compatible IoT platform for makers".TheNoCANplatform enables you to connect a set of Arduino-compatible 'nodes' to a Raspberry-Pi, using a single cable that brings both power and networking. The Raspberry Pi controls the network and acts as a gateway to the outside world. The nodes enable you to connect sensors, lights, relays, and actuators to build complex IoT application easily. You can write your code in the Arduino IDE and push it over the network to any node. The network can easily reach 300 meters (1000 feet) in total length.In terms of hardware, we currently have one "official" node (some users have built their own custom alternative): the CANZERO.The CANZERO is a small development board in the Arduino MKR format, which features an ARM Cortex M0+ (the Atmel SAMD21G18). In short, it is very much like the Arduino MKR Zero, with the addition of CAN-bus networking, which is itself supported by an STM32F0. The "dual" MCU approach was created for additional robustness for remote software updates: the STM32F0 can "reset" the SAMD21G18 in bootloader mode even if the later is somehow "stuck".The raspberry-pi needs to be fitted with a HAT: the PiMaster. The PiMaster just acts as a CAN-bus to SPI gateway for the Raspberry Pi and contains some safety features such as current limiting and short circuit protection. The HAT is built around an STM32F0.NoCANis based on CAN-bus, but with the software tools provided, you can interface with many other platforms:- MQTT: you can send and receive data from any MQTT broker, including external cloud services such as adafruit.io or Cayenne.- Blynk: you can control your network with your smartphone (blynk.cc).- Web: you can control your network with a web interface.- CLI: There is a command line utility to allow scripting (e.g. for bash scripts).We also have a JSON RESTful interface, but it needs further documentation and we are planning to add C/C++ and Python language bindings pretty soon.You can learn more about this project here:https://www.omzlo.com/articles/the-nocan-platformI'd like to take this opportunity to answer in advance 3 questions I get all the time.QuoteToday, NoCAN is being used in all kinds of applications, including environmental monitoring, security systems and cloud apps (with Amazon Greengrass).There is still plenty of things to do and plenty of work ahead, and we really appreciate the feedback we get from the community.Cheers,Alain -- Omzlo.com

author: lty1993
author_rank: Unknown
timestamp: May 10, 2019, 09:00:09 am
content: I did a similar project a few years back for industrial motor control system. I combined two CANBUS signal and -53.5V power (Standard voltage for communication system) into a standard CAT5E ethernet cable with RJ45 connector. The impedance of CAT5E is a little bit off but it is cheap enough and easy to find.It is nice to see an open source IoT project based on CANBUS since everybody built their IoT project based on the WiFi / BLE / Zigbee / etc these days, which can be knocked down easily by a broadband noise source and an amplifier.

author: L1L1
author_rank: Regular Contributor
timestamp: May 12, 2019, 07:56:31 pm
content: QuoteInteresting. I had never heard of a -53.5V standard. But why that odd voltage???

author: LapTop006
author_rank: Unknown
timestamp: May 13, 2019, 08:29:30 am
content: Quote from: L1L1 on May 12, 2019, 07:56:31 pmThe standard I'm aware of is 48v (nominal), which for reasons that don't actually matter unless you're a telco running copper phone lines, often has the positive tied to ground (making it -48). Then you add float voltage of lead-acid cells and get 52-53 volts. I've not seen people call it anything other than 48v unless they're referring to a specific measured voltage.

author: EEVblog
author_rank: Unknown
timestamp: May 13, 2019, 10:37:25 am
content: So the NoCAN contains no CAN bus?As advertised I guess, but confusing.

author: L1L1
author_rank: Regular Contributor
timestamp: May 13, 2019, 10:22:58 pm
content: Quote from: EEVblog on May 13, 2019, 10:37:25 amNo... wait... NoCAN is totally based on CAN bus, as in ISO-11898 !!!But we built an additional layer on top of CAN bus that does stuff that you typically do not find in CAN-bus networking, such as:- automated address allocation of nodes (you can even hot-plug nodes).- publish/subscribe messaging (similar to MQTT).I called it "NoCAN" initially as an internal joke, but the name stuck. I'll take 100% of the blame

author: L1L1
author_rank: Regular Contributor
timestamp: May 27, 2019, 11:09:38 am
content: Looks like this thread was moved from the "Open Source Hardware" forum to to the "Embedded Computing" one.I just wanted to confirm that NoCAN is fully open-source hardware, with all design files, firmware and supporting tools available under an open-source license.- Source code is provided under the classic MIT license.- Design files are provided under the Creative Commons Attribution-ShareAlike 4.0 International Public License.Alain

author: voltsandjolts
author_rank: Unknown
timestamp: May 27, 2019, 11:20:42 am
content: NoCAN?Thats a bad name for a CAN based system.

author: L1L1
author_rank: Regular Contributor
timestamp: May 27, 2019, 02:55:00 pm
content: Quote from: voltsandjolts on May 27, 2019, 11:20:42 am

author: julianhigginson
author_rank: Frequent Contributor
timestamp: July 01, 2019, 04:55:16 am
content: Looks cool. well done L1L1.

author: L1L1
author_rank: Regular Contributor
timestamp: July 16, 2019, 03:26:39 pm
content: For those interested, here are some links to code and application examples of the NoCAN IoT platform:Controlling a simple relayor aPIR sensor.Buiding an automated plant watering system.Connecting a BME280 Atmospheric Sensorandviewing the resulting data on a smartphone.Collecting data and sending it to a MQTT backend.

author: SiliconWizard
author_rank: Super Contributor
timestamp: July 16, 2019, 05:46:45 pm
content: Cool idea.I also find the "NoCAN" name a bit confusing and unfortunate, but to each his own.Maybe it's a form of art though. It kinda reminded me of Magritte's "This is not a pipe" painting.https://en.wikipedia.org/wiki/The_Treachery_of_ImagesArduino surrealism.