Markdown source

# CM3-Home - Scheda Raspberry per Home/Building automation

<abstract>
La scheda CM3-Home è una mother board per il nuovo modulo Raspberry Compute Module 3
pensata per applicazioni di home e building automation.
</abstract>

La scheda nasce da un progetto collaborativo nell'ambito delle attivitò del TanzoLab 
ed ancora in via di definizione. Le specifiche di progetto preliminari presentate su questo sito 
verranno chiuse definitivamente entro il mese di Agosto 2017 mentre la produzione è prevista entro fine 
ottobre 2017. 

Chiunque può fornire idee da implementare sulla scheda iscrivendosi al gruppo Telegram TanzoLab ed inviando i suoi
commenti.

## A cosa serve questa scheda se esiste già la Raspberry ?

La scheda Raspberry Pi nelle sue varie forme si è diffusa molto rapidamente ed oggi conta circa 14 milioni di pezzi venduti.
La sua diffusione è dovuta al suo prezzo eccezionalmente basso ed alla enorme disponibilità di software e documentazione 
disponibile gratuitamente su Internet.

Essendo una specie di mini PC ha una forma ed una dotazione di hardware molto vicina a quella di un PC oltre a un connettore 
da 40 pin adatto per l'installazione di schede di espansione denominate HAT.

Contrariamente ad un PC tradizionale però la Raspberry ha un solo "slot di espansione" che può ospitare 
una sola HAT per volta.

Nel tempo sono state prodotte una quantità molto alta di HAT specializzate in diversi settori tra cui anche quelle per l'home automation.
Le ingegnerizzazioni di queste HAT, per quanto in molti casi anche molto accurate, sono spesso penalizzate dalla forma stessa della scheda
Raspberry che spesso conferisce all'assemblato un aspetto un pò posticcio se confrontato con apparati home automation commerciali.

Per facilitare l'adozione in ambito commerciale della sua architettura, Raspberry ha prodotto la 
[Compute Module 3](https://www.raspberrypi.org/blog/compute-module-3-launch/) che contiene la stessa CPU
della Raspberry 3 ma si presenta sotto forma di modulo SODIMM come visibile in figura: 

<img src="./cm3.jpg" class="center-block">

Questo formato è praticamente inutilizzabile in ambito maker ma è più facile da integrare all'interno 
di apparecchiature disegnate per essere funzionali ad applicazioni specifiche.

La scheda CM3-Home ricade in questa categoria di prodotti ed è stata disegnata per essere inserita in una scatola
a 9 moduli per montaggio a barra DIN adatta quindi per essere integrata facilmente in un quadro elettrico insieme a tutte le interfacce
di campo senza dover ricorrere all'uso di HAT come visibile in questo preview:

<img src="./openhab_preview.jpg" class="img-responsive center-block" width="60%">

La differenza sostanziale quindi tra la scheda CM3-Home ed una Raspberry risiede quindi nella specializzazione estrema della scheda 
disegnata al meglio (si spera) per essere usata in applicazioni di home automation.

Si tratta quindi di un prodotto compatibile al 100% con il software della Raspberry 3 (ad eccezione delle applicazioni
che usano il video non essendo la scheda dotata di uscita video) ma specializzato per un solo ambito d'uso.

Vediamo di seguito le caratteristiche definite finora per la CM3-Home.

## Caratteristiche della scheda CM3-Home

* Slot per modulo [Raspberry Compute Module 3](https://www.raspberrypi.org/blog/compute-module-3-launch/) (CPU 64bit quad core compatibile con Raspberry 3), 1GB di Ram
* Socket per microSD card di tipo verticale.
* WiFi 2.4 GHz
* Bluetooth 4.0
* 1 Porta seriale di debug (RX,TX livelli a 3.3 volt) 
* 1 Porta seriale generica (RX, TX livelli a 3.3 volt)
* 1 Porta SPI (MISO, MOSI, CLK, livelli a 3.3 volt)
* 1 Porta I2C (SDA,SDC livelli a 3.3 volt)
* 1 porta RS485 (A,B,GND)
* 1 porta RS232 (RX, TX livelli a +-12 volt)
* 1 porta KNX (Siemens TPUART)
* 1 porta 1-wire (+3V3,GND,DATA livelli a 3.3 volt)
* 3 porte USB Host per USB stick [4G/LTE](https://www.amazon.com/Huawei-E3372-3G-USB-Stick/dp/B01N6P3HI2), [Z-Wave](http://www.smarthome.com.au/aeotec-z-wave-usb-z-stick.html), [XBee](https://www.digi.com/products/xbee-rf-solutions/boxed-rf-modems-adapters/xstick), [ZigBee](http://mmbnetworks.com/usbsticks/),[EnOcean](https://www.enocean.com/en/enocean_modules/usb-300-oem/)
* 1 porta LAN Ethernet 10/100
* 1 uscita audio stereo (stesso pinout della Raspberry 3)
* 1 Connettore per telecamera Raspberry
* 1 Modulo Yarm 868 MHz per sensori battery free
* 4 Uscite a relè 12 volt contatti NA/NC
* 4 Linee di ingresso ADC
* Ingresso di alimentazione su morsetto 9-24VDC (è richiesto un alimentatore esterno commerciale a barra DIN per alimentarla dai 220 volt AC)
* Uscita alimentazione su morsetto 9-24VDC

Le caratteristiche indicate potrebbero essere soggette a modifiche prima della messa in produzione della scheda.

## Sezioni previste sulla mother board

<img src="./openhab_parts.jpg" class="img-responsive center-block" width="80%">

## Architettura interna e interconnessioni possibili

<a href="/public/openhab/openhab_links.jpg">
<img src="./openhab_links.jpg" class="img-responsive center-block" width="80%">
</a>

## Software

La scheda CM3-Home è stata definita prendendo come software di riferimento il progetto open source
gratuito OpenHAB disponibile sul sito:

<a href="https://www.openhab.org" target="_blank">
<img src="./logo_openhab.jpg" class="img-responsive center-block" width="80%">
<center class="lead">
https://www.openhab.org
</center>
</a>

Potenzialmente è compatibile con una lunga serie di altri progetti già disponibili per Linux e Raspberry. Di seguito ne 
riportiamo alcuni:

* [ioBroker](http://www.iobroker.net/docu/?lang=en)
* [PiDome](https://pidome.org/index.html)
* [PiMatic](https://pimatic.org/)
* [OpenRemote](http://www.openremote.com/)
* [Home Assistant](https://home-assistant.io/)
* [Domotiga](https://www.domotiga.nl/projects/domotiga/wiki/Home)
* [NexaHome](http://nexahome.se/)
* [Node-RED](https://nodered.org/)

## Contenitore

Il contenitore identificato per la mother board CM3-Home è un contenitore standard prodotto dalla ELBag di Milano:

<a href="http://www.elbag.net/9k_I.html" target="_blank">
<img src="./elbag.jpg" class="img-responsive center-block" width="80%">
<center class="lead">
http://www.elbag.net/9k_I.html
</center>
</a>

# Appunti vari

<abstract>
Di seguito vengono riportati un pò di appunti vari e sparsi utili per la definizione delle specifiche di progetto.
</abstract>

##Interfacciamento verso sistemi di domotica commerciali

OpenHAB è predisposto per essere interfacciato anche verso sistemi commerciali più o meno aperti derivanti dall'[EIB](https://it.wikipedia.org/wiki/European_Installation_Bus), come il KNX e l'SCS.

[Qui si può trovare una descrizione completa dell'utilizzo del protocollo KNX su Openhab tramite un interfaccia seriale TPUART](http://www.tanzolab.it/openhab_KNX).

## Utilizzo di sensori su linee bilanciate

Il valore della R da mettere alla fine della linea per il singolo bilanciamento 
è normalmente imposta dal costruttore della centrale. Per quelle a doppio bilanciamento 
la cosa è un po' più complicata e i valori di R possono autocalibrati a SW in fase di installazione.

* [Regole base per il bilanciamento delle linee di allarme](https://www.sicurezzamagazine.it/antintrusione-regole-base-per-il-bilanciamento-delle-linee-di-allarme/)

## Idee per accessori vari

Sarebbe interessante mettere sul pannello frontale la telecamera fisheye riportata in figura:

<img src="https://ae01.alicdn.com/kf/HTB1isiDLXXXXXX8XFXXq6xXFXXX4/221583798/HTB1isiDLXXXXXX8XFXXq6xXFXXX4.jpg?size=85586&height=800&width=800&hash=eb2d388fcbd55361db1f2beea1476f59" width='320px'>

Questa telecamera si può acquistare ad un prezzo interessante un pò ovunque su internet 
([Vedi Aliexpress ad esempio](https://it.aliexpress.com/store/product/Raspberry-Pi-3-Macchina-Fotografica-Grandangolare-Fish-Eye-Webcam-di-Visione-notturna-camera-2-pz-IR/1389695_32669371543.html))
ed è dotata di illuminatore. Con un software opportuno (ancora da identificare e provare) consentirebbe di simulare una
visione circolare con tilt e pan. La CM3-Home è dotata di connettore per telecamera MIPI adatto per questa telecamera. In realtà
se ne potrebbero mettere anche due di telecamere ma dobbiamo fare ancora quelche verifica per vedere fino a che distanza dalla
mother board è possibile arrivare.

## Altri articoli correlati

* @article='openhab_ili9341'
* @article='openhab_KNX'
* @article='openhab_telegram'

## Links

* [Interfacce KNX ufficiali](https://www.knx.org/knx-en/Landing-Pages/development/system-components/index_backup.php)
* OpenHAB
	* [Open HAB su Raspberry Pi](http://docs.openhab.org/installation/rasppi.html)
	* [openHABian - Hassle-free openHAB Setup](http://docs.openhab.org/installation/openhabian.html)
	* [knxd KNX demon](https://github.com/knxd/knxd/wiki)
	* [Installazione manuale di openHAB su Raspberry PI 3](./opeHAB_RaspberryPI-3.pdf)
	* [Slides di Massimiliano Casini su Open HAB](https://docs.google.com/presentation/d/10DPPHumq0PqhR1W8O9O3a_Z710Q-2M1eWKkTn41gLdw/edit?usp=sharing)
	* [Lista di controller su mysensor.org](https://www.mysensors.org/controller)
* Accessori
	* [Aeotec Z-Wave USB Z-Stick](http://www.smarthome.com.au/aeotec-z-wave-usb-z-stick.html)
	* [Chiavetta ZigBee](http://mmbnetworks.com/usbsticks/)
	* [Busware](http://shop.busware.de/product_info.php/products_id/59)
	* [Fibaro Motionsensor - Z-Wave ](http://www.bpm-power.com/it/product/1324353/Fibaro+Motionsensor+%26%2345%3B+Z%26%2345%3BWave+%5BFGMS%26%2345%3B001%5D.html?gclid=Cj0KCQjwqvvLBRDIARIsAMYuvBHFY0onbwd65AR5fx0bohkuloNQ2PUnfgIdnXBK47Hg8gTqbWglGL0aAsxeEALw_wcB)
* Hardware concorrenti
	* [Unipi](https://www.unipi.technology/)

The TanzoLab Project

Il TanzoLab è una iniziativa senza fini di lucro, nata da un'idea di Sergio Tanzilli socio fondatore di Acme Systems srl nel Novembre 2015, per trasferire ad appassionati di elettronica e informatica, professionisti e aziende nel settore, le conoscenze necessarie per poter creare prodotti embedded adatti per la produzione industriale.

Le attività del TanzoLab si svolgono ogni lunedi sera, salvo casi speciali, dalle ore 18:30 presso i locali della Acme Systems srl e consistono in:

  • Talk monotematici a cura di professionisti in vari settori tecnologici
  • Workshop pratici su elettronica embedded, produzione e informatica
  • Progettazione e realizzazione di nuovi prodotti embedded per l'IT

Le attività vengono coordinate tramite questo sito, in cui vengono pubblicati tutti i lavori svolti o in via di sviluppo, e tramite un gruppo Telegram con cui per interagire direttamente via chat con gli altri membri.