Computing > Embedded Computing

NoCAN: the wired Arduino-compatible IoT platform for makers.

(1/3) > >>

L1L1:
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".

The NoCAN platform 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.



NoCAN is 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-platform

I'd like to take this opportunity to answer in advance 3 questions I get all the time.  ;D ;D ;D
 

--- Quote ---1) Why aren't you using WiFi, Bluetooth BLE, Lora, Zigbee, etc.  :palm:

Yes, there are wireless gizmos that run a year on a coin cell. Yes, an ESP8266 is amazingly cheap. Wireless is great. Nevertheless, it is not always the right solution for an IoT project, because of battery, signal or reliability issues. Many of our users are building applications that do not fit in the "wireless" paradigm.

2) Why "Arduino-compatible"? I'm a "real" engineer, Arduino-stuff is for kids!  ;)

I think Arduino is a wonderful thing, but we don't have to agree ;-)
NoCAN works fine without Arduino. You can use our libraries and tools to program your nodes "baremetal" if you prefer. We do it all then time.

3) Why is it called "NoCAN" if it uses CAN-bus?

It was a bit of humor, parodying what NoSQL is to SQL. Sorry.  :palm: But in fact, with features such as automatic address allocation and publish/subscribe, we believe that NoCAN takes CAN-bus where it has never been! So perhaps the name is appropriate :-)

--- End quote ---

Today, 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

lty1993:
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.

L1L1:

--- Quote ---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.

--- End quote ---

Interesting. I had never heard of a -53.5V standard. But why that odd voltage???

LapTop006:

--- Quote from: L1L1 on May 12, 2019, 07:56:31 pm ---
--- Quote ---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.

--- End quote ---

Interesting. I had never heard of a -53.5V standard. But why that odd voltage???

--- End quote ---

The 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.

EEVblog:
So the NoCAN contains no CAN bus?
As advertised I guess, but confusing.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version