Raspberry PI : I/O in C# / mono

Slides:



Advertisements
Presentazioni simili
Sperimentazioni di Sicurezza, A.A. 2009/2010
Advertisements

Protezione da virus in ambiente Unix
Linux Kernel (Hac|Ma)king Come compilarsi da soli il proprio kernel - # make it simple.
Accesso ai dati su file LSA: Laboratorio di Sistemi Informativi Economico Aziendali Salvatore Ruggieri Dipartimento di Informatica, Università di Pisa.
Introduzione al C++ e alla programmazione ad oggetti febbraio Costruzione di applicazioni Compilazione Loading (linking) Esecuzione su Linux.
UNetbootin Come installare Ubuntu su USB BIONDI FEDERICO 3 AI a.s
Modulo 1 – Ambiente di lavoro Windows 7
Code::Blocks Ambiente di sviluppo.
Windows Development Day 28/01/05 Bologna The Media Center Show Daniele Bochicchio Microsoft ASP.NET MVP Daniele Bochicchio
Sharepoint Gabriele Castellani
1 Smart Client distribuzione e aggiornamento Fabio Santini.
Installazione di Apache 2, PHP5, MySQL 5
Moodle: corso base BENVENUTI!
Minimum Requirements Comparison WinFLP 1 Windows XP 3 Linux Ubuntu 2 SUSE Linux 4 Fedora 10 5 Technical minimum Processor 233 MHz Pentium class processor.
Connessione con MySQL.
Sicurezza e Policy in Active Directory
Sicurezza e Policy in Active Directory. Sommario Amministrazione della sicurezza in una rete Windows 2003 Amministrazione della sicurezza in una rete.
Amministrazione di una rete con Active Directory
Amministrazione di una rete con Active Directory.
Giuseppe Fabio Fortugno.
Francesca Del Corso, CCR - Gruppo Windows, Bologna 16/02/2006 SUS - WSUS per il Security Patch Management.
Hadoop: introduzione (1)
Uso di openafs Come usare il tool openafs per accedere e gestire i propri files sotto AFS.
Il compilatore Dev-C++
1° passo Aprire Internet Explorer Andare alla homepage di Ateneo Aprire il menu Ateneo Scorrere fino Servizi di Ateneo Cliccare su Servizi Informatici.
Accesso a DynaMed su iPhone, iPod touch e iPad Tutorial
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Installare Code::Blocks su macchine LINUX
Home climate control Automatizzare il sistema di raffreddamento e riscaldamento di casa, con la possibilità di gestione da remoto attraverso un’interfaccia.
Installazione di Code::Blocks su macchine OSX
Amministrazione della rete
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Printserver2.pg.infn.it (VM Xen in esecuzione su redhat cluster)
Sistemi Informativi sul Web
Il Server web Laboratorio di Progettazione Web AA 2007/2008
Amministrazione della rete: web server Apache
Lezione 1 Approccio al sistema operativo : la distribuzione Knoppix Live Cd Knoppix 3.6 Interfacce a caratteri e grafica: console e windows manager File.
Tutorial.
MS-DOS è il sistema operativo, Come praticamente tutti i sistemi operativi per i computer del periodo, l'MS- DOS era un sistema operativo mono utente.
A cura di: Huber Roberto, Zaharulko Nicola, Debernardi Daniele.
PHP - PHP: Hypertext Preprocessor. Introduzione PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor") è un linguaggio di scripting general-purpose.
Vannucci Roberto (5BM), De Nardin Axel (5AM)
Xbee, Bluetooth, SD, Ethernet
Workshop Teachers For Teachers 23 – 24 settembre 2013
Il linguaggio PHP.
ROOT Tutorial.
ARDUINO Duemilanove Parte_5 Arduino e PHP
Docente: G. Ianni Esercitatori: A. Martello (Sistemi Operativi), V. Lio (Reti) Sito del corso: Google ‘sistemi operativi e reti unical’ Gruppo FB («Sistemi.
Automazione Os Hangout del 18 Novembre Ordine del giorno o della notte direi Nuovo SITO WEB, pensiamo ai nuovi spazi per la pubblicità ecc…. Dominio.
Fabrizio Felici LAMP workshop GROsseto Linux Users Group.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
Tecnologie dell’Informazione e della Comunicazione
ASP.NET – Autenticazione e Sicurezza basata sui ruoli
FESR Trinacria Grid Virtual Laboratory Strumenti di gestione Rosanna Catania Rita Ricceri Gianni Mario Ricciardi INFN Catania Task force.
Sicurezza II, A.A. 2011/2012 OpenID Speaker: André Panisson, PhD student Università degli Studi di Torino, Computer Science Department Corso Svizzera,
Distribuzione controllata del software con Systems Management Server 2003 Fabrizio Grossi.
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Internetworking V anno.
Hardware necessario Una board Intel galileo Un alimentatore Dc 7-15 v
Simulazione Computer Essentials
I Sistemi Operativi. Che cosa sono? Il sistema operativo è un software di base che fa funzionare il computer. I Sistemi operativi più importanti sono:
I sistemi operativi Funzioni principali e caratteristiche.
Linux, Android e Internet of Things ITIS G.Galilei - San Secondo (PR)
.NET vNext e lo sviluppo web cross-platform
Linux, Android e Internet of Things
Corso Web Developer Lezione 4 – Installare Joomla.
OpenAM Meeting AG del 06/11/2015 Alessandro Bettacchi, e-Lios s.r.l.
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Creare un server casalingo - 2
Transcript della presentazione:

Raspberry PI : I/O in C# / mono Torino, 27 Novembre 2014 Gianluca Cucco

Agenda Introduzione a Raspberry PI e Hardware Introduzione installazione Raspbian e Mono Installazione asp.net MVC Come gestire I/O Esempio pratico con hardware display LCD16X2 Esempio pratico con hardware sensore DHT22

Introduzione a Raspberry PI e Hardware Il Raspberry Pi è un single-board computer System on a chip (SoC) Broadcom BCM2835 Progessore Arm ARM1176JZF-S (700 Mhz – famiglia ARM 11) GPU VideoCore IV OpenGL ES 2.0, 1080p30 H.264 high-profile decode SDRAM 256 MB modello A / A+ – 512 MB modello B / B+ Output Video RCA per video composito e HDMI Output Audo Jack 3,5mm e HDMI Ethernet 10/100 RJ45 solo per B / B+ USB 2.0 1 Modello A / A+ 2 Modello B Hub integrato 4 Modello B+ Memoria SD / MMC / SDIO card slot per A/B microSD per A+/B+

Introduzione a Raspberry PI e Hardware Periferiche a basso livello 26 pin per versione A / B e 40 pin versione A+/B+ SPI (Serial Peripheral Interface) http://goo.gl/gFJ03a I²C (Inter Integrated Circuit) http://goo.gl/R99oSF UART (Universal Asynchronous Receiver-Transmitter) http://goo.gl/FqOhw +3,3v e +5v Alimentazione (5V) 300 mA Modello A 1,5 W 700 mA Modello B 3,5 W 600 mA Modello B+ 3,0 W Sistemi operativi supportati Debian / Fedora / Arch Linux / Gentoo e RISC OS ( open source ) SPI È un bus standard di comunicazione ideato dalla Motorola e sviluppato, in una sua variante, anche dalla National Semiconductor con il nome di bus MicrowireTM. La trasmissione avviene tra un dispositivo detto master e uno o più slave (letteralmente dall'inglese padrone e schiavo). Il master controlla il bus, emette il segnale di clock, decide quando iniziare e terminare la comunicazione[1]. Il bus SPI si definisce: di tipo seriale sincrono per la presenza di un clock che coordina la trasmissione e ricezione dei singoli bit e determina la velocità di trasmissione full-duplex in quanto il "colloquio" può avvenire contemporaneamente in trasmissione e ricezione. Per quanto riguarda la velocità di scambio dei dati (in pratica la frequenza del clock) non vi è un limite minimo (in quanto i dispositivi sono statici: possono mantenere se alimentati uno stato logico per un tempo indefinito) ma vi è un limite massimo che va determinato dai datasheet dei singoli dispositivi connessi e dal loro numero in quanto ogni dispositivo collegato al bus introduce sulle linee di comunicazione una capacità parassita).

Introduzione a Raspberry PI e Hardware Raspberry B

Introduzione a Raspberry PI e Hardware Version B+ GPIO and Versions Version 1 Version 2

Introduzione installazione Raspbian Scaricare iso da http://www.raspberrypi.org/downloads/ Raspbian (Debian Wheezy) Pidora (Fedora Remix) OPENELEC e RASPBMC (An XBMC Media Centre) Scrivere immagine su SD http://goo.gl/hKmGhe Linux Mac OS Windows

Introduzione installazione Raspbian Win32DiskImager 

Introduzione installazione Raspbian

Introduzione installazione Raspbian Configurazione iniziale sudo raspi-config

Introduzione installazione Raspbian Aggiornare Raspbian sudo apt-get update sudo apt-get upgrade Aggiornare Firmware sudo rpi-update Installare mono sudo apt-get install mono-complete

Installazione libreria LIBPGPIO Installare libreria libpigpio wget http://www.codehosting.net/blog/files/libpigpio.zip unzip libpigpio.zip gcc -c -fpic libpigpio.c gcc -shared -o libpigpio.so libpigpio.o sudo cp libpigpio.so /lib Github libreria https://github.com/Linutronix/libgpio

Demo Led DEMO LED

Demo schermo LCD 16x2

Installazione libreria per sensore DHT22 Installazione libreria per sensore di temperatura DHT22 sudo apt-get install python-dev git clone https://github.com/adafruit/Adafruit_Python_DHT gcc -c "common_dht_read.c" "Raspberry_Pi/pi_dht_read.c" "Raspberry_Pi/pi_mmio.c" gcc -c "_Raspberry_Pi_Driver.c" "common_dht_read.c" "Raspberry_Pi/pi_dht_read.c" "Raspberry_Pi/pi_mmio.c" - I/usr/include/python2.7/ -std=gnu99 gcc -shared "_Raspberry_Pi_Driver.o" "common_dht_read.o" "pi_dht_read.o" "pi_mmio.o" -o "Raspberry_Pi_Driver.so" sudo cp Raspberry_Pi_Driver.so /lib/Raspberry_Pi_Driver.so

Demo sensore DHT22

Installazione e configurazione Lighttpd Installazione Lighttpd sudo apt-get install lighttpd Installazione FastCGI sudo apt-get install mono-fastcgi-server4 mono-xsp4

Installazione e configurazione Lighttpd Modificare la configurazione di Lighttpd sudo nano /etc/lighttpd/lighttpd.conf Aggiungere modulo FastCGI server.modules = ( "mod_access", "mod_alias", "mod_fastcgi", "mod_compress", "mod_redirect", "mod_rewrite" )

Installazione e configurazione Lighttpd Aggiungere configurazione FastCGI $HTTP["url"] =~ "^/mono/"{ fastcgi.server = ( "" => (( #To be added "socket" => "/tmp/fastcgi-mono-server4", "bin-path" => "/usr/bin/fastcgi-mono-server4", "bin-environment" => ( "PATH" => "/bin:/usr/bin", "LD_LIBRARY_PATH" => "/usr/lib:", "MONO_SHARED_DIR" => "/tmp/", "MONO_FCGI_LOGLEVELS" => "Error", "MONO_FCGI_LOGFILE" => "/tmp/fastcgi.log", "MONO_FCGI_ROOT" => server.document-root, "MONO_FCGI_APPLICATIONS" => "/mono/:/var/www/mono/" ), "max-procs" =>4, "check-local" => "disable" )) )}

Installazione e configurazione Lighttpd Aggiungere configurazione FastCGI # Add index.aspx and default.aspx to the list of files to check when a directory is requested. index-file.names += ( "index.aspx", "default.aspx", "index.cshtml", "default.cshtml" ) fastcgi.map-extensions = ( ".asmx" => ".aspx", ".ashx" => ".aspx", ".asax" => ".aspx", ".ascx" => ".aspx", ".soap" => ".aspx", ".rem" => ".aspx", ".axd" => ".aspx", ".cs" => ".aspx", ".config" => ".aspx", ".dll" => ".aspx" )

Installazione e configurazione Lighttpd Creare cartella per ospitare il sito web sudo mkdir /var/www/mono Impostare proprietario file sudo chown www-data:www-data /var/www/mono Impostare permessi cartella sudo chmod 777 /var/www/mono Riavviare Lighttpd sudo service lighttpd restart

Installazione e configurazione Mysql Installazione MySql sudo apt-get install mysql-server Abilitare accesso remoto sudo nano /etc/mysql/my.cnf Trovare : bind-address = 127.0.0.1 Sostituire con : bind-address = 0.0.0.0 Riavviare Mysql sudo service mysql restart

Installazione e configurazione Mysql Abilitare accesso remoto per utente root (mysql) mysql -u root –p GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';

Demo Asp.net MVC