Creazione di una stazione meteo con prodotti opensource. Linux day 2014 - Lin...Matteo Baccan
Per Linux Day 2014 a Novara abbiamo discusso di come costruire una semplice stazione meteo con raspberry Pi e componenti opensource. Queste sono le slide del mio intervento, che parlava della parte software scritta per leggere e visualizzare i sensori connessi a Raspberry Pi
Matteo baccan raspberry pi - linox 2014Matteo Baccan
Introduzione a Raspberry Pi
Cos’è? A chi è rivolto? Cosa ci posso fare? Cosa ci collego? Mi serve? A queste, e ad altre domande, proveremo a dare una risposta
Matteo baccan raspberry pi - linox 2015 - corso parte 2Matteo Baccan
Seconda puntata del corso Raspberry Pi tenuto per il Linox di Novara. Piccoli accorgimenti per ottimizzare il vostro raspberry, installazione LAMP server e realizzazione di una macchina virtuale
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
Creazione di una stazione meteo con prodotti opensource. Linux day 2014 - Lin...Matteo Baccan
Per Linux Day 2014 a Novara abbiamo discusso di come costruire una semplice stazione meteo con raspberry Pi e componenti opensource. Queste sono le slide del mio intervento, che parlava della parte software scritta per leggere e visualizzare i sensori connessi a Raspberry Pi
Matteo baccan raspberry pi - linox 2014Matteo Baccan
Introduzione a Raspberry Pi
Cos’è? A chi è rivolto? Cosa ci posso fare? Cosa ci collego? Mi serve? A queste, e ad altre domande, proveremo a dare una risposta
Matteo baccan raspberry pi - linox 2015 - corso parte 2Matteo Baccan
Seconda puntata del corso Raspberry Pi tenuto per il Linox di Novara. Piccoli accorgimenti per ottimizzare il vostro raspberry, installazione LAMP server e realizzazione di una macchina virtuale
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Matteo Baccan
Vedremo all’opera un’architettura basata su un cluster Raspberry Pi, con tutti gli hack necessari per poter utilizzare e ottimizzare applicazioni preesistenti basate su JAVA e PHP.
Verranno illustrati tutti quei piccoli accorgimenti che ci permettono di sfruttare al meglio le risorse limitate di questa architettura, in modo da capire cosa è possibile fare e cosa non è consigliabile fare.
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
Il TechAdvisor Babel Roberto Polli ci propone questo mese un esercizio rivolto a sistemisti e sviluppatori junior: la trasformazione di un comune modem/router ADSL in una postazione multimediale.
Il processo è realizzato grazie a MiniDLNA, un media server open source per musica e video, che impariamo a compilare dopo aver precedentemente configurato un cross-compiler sul PC.
Se siete interessati a questo approfondimento sul modo in cui Linux gestisce i processi su un device minimale, vi invitiamo a scaricare l’articolo completo.
Un piccolo vademecum su un insieme di programmi open source utili a migliorare l'infrastruttura informatica di scuole, comuni, ospedali, cliniche e piccole e medie imprese
Richiami su Linux - Webmin - Reti di calcolatoriFulvio Corno
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Linux & Tools: per la piccola azienda e i freelanceFabio Mora
LinuxDay - 10/2012
Una panoramica su qualche software opensource da usare in ufficio o nella piccola azienda. Quello che ho imparato.
Browser, Mail, Office, Backup, Encrypt, versioning con GIT, PDF, Video, Audio. Un crm Opensource: vTiger.
In questo articolo ho parlato di:
1.WSL e il Cloud
2. Modalità MS_DOS
3. WinToGo
Inoltre mi sono concentrato nell'archeologia informatica; ho iniziato a leggere e "recensire" la max raccolta di computer_idea presente in Internet Archive. Buona Lettura!
Il talk prevede una breve introduzione alla piattaforma Maemo ed ai Nokia Internet Tablet, sia dal punto di vista dell'utente comune, sia da quello dello sviluppatore.
Verrà poi spiegato come configurare ed installare l'ambiente Scratchbox, il principale ambiente utilizzato per sviluppare applicazioni per Maemo.
Infine verranno presentati due plugin per Eclipse: ESbox e PluThon. Il primo si interfaccia con Eclipse e Scratchbox, permettendo di sviluppare sia applicazione C/C++ che Python e di testarle all'interno dell'ambiente Scratchbox. Il secondo è un plugin specifico per Python e permette di eseguire e debuggare le applicazioni direttamente sul dispositivo.
Linux Capabilities: Un miglior root di SUID root.
Traduzione in lingua italiana delle diapositive presentate alla conferenza organizzata dalla Linux Foundation LinuxCon2014, Düsseldorf, 15 ottobre 2014.
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Matteo Baccan
Vedremo all’opera un’architettura basata su un cluster Raspberry Pi, con tutti gli hack necessari per poter utilizzare e ottimizzare applicazioni preesistenti basate su JAVA e PHP.
Verranno illustrati tutti quei piccoli accorgimenti che ci permettono di sfruttare al meglio le risorse limitate di questa architettura, in modo da capire cosa è possibile fare e cosa non è consigliabile fare.
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
Il TechAdvisor Babel Roberto Polli ci propone questo mese un esercizio rivolto a sistemisti e sviluppatori junior: la trasformazione di un comune modem/router ADSL in una postazione multimediale.
Il processo è realizzato grazie a MiniDLNA, un media server open source per musica e video, che impariamo a compilare dopo aver precedentemente configurato un cross-compiler sul PC.
Se siete interessati a questo approfondimento sul modo in cui Linux gestisce i processi su un device minimale, vi invitiamo a scaricare l’articolo completo.
Un piccolo vademecum su un insieme di programmi open source utili a migliorare l'infrastruttura informatica di scuole, comuni, ospedali, cliniche e piccole e medie imprese
Richiami su Linux - Webmin - Reti di calcolatoriFulvio Corno
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Linux & Tools: per la piccola azienda e i freelanceFabio Mora
LinuxDay - 10/2012
Una panoramica su qualche software opensource da usare in ufficio o nella piccola azienda. Quello che ho imparato.
Browser, Mail, Office, Backup, Encrypt, versioning con GIT, PDF, Video, Audio. Un crm Opensource: vTiger.
In questo articolo ho parlato di:
1.WSL e il Cloud
2. Modalità MS_DOS
3. WinToGo
Inoltre mi sono concentrato nell'archeologia informatica; ho iniziato a leggere e "recensire" la max raccolta di computer_idea presente in Internet Archive. Buona Lettura!
Il talk prevede una breve introduzione alla piattaforma Maemo ed ai Nokia Internet Tablet, sia dal punto di vista dell'utente comune, sia da quello dello sviluppatore.
Verrà poi spiegato come configurare ed installare l'ambiente Scratchbox, il principale ambiente utilizzato per sviluppare applicazioni per Maemo.
Infine verranno presentati due plugin per Eclipse: ESbox e PluThon. Il primo si interfaccia con Eclipse e Scratchbox, permettendo di sviluppare sia applicazione C/C++ che Python e di testarle all'interno dell'ambiente Scratchbox. Il secondo è un plugin specifico per Python e permette di eseguire e debuggare le applicazioni direttamente sul dispositivo.
Linux Capabilities: Un miglior root di SUID root.
Traduzione in lingua italiana delle diapositive presentate alla conferenza organizzata dalla Linux Foundation LinuxCon2014, Düsseldorf, 15 ottobre 2014.
The document discusses selecting a digital agency or agencies to handle various marketing tasks such as search optimization, media planning, creative development, and website development. It recommends first assessing internal marketing and IT capabilities and current agency relationships. The key needs should then be defined and potential agency partners evaluated based on their abilities in areas like creative, media, analytics, and technical skills. The best approach may involve using separate agencies for specialized tasks like search optimization versus a full-service digital agency.
El documento habla sobre los desafíos que enfrentan las pequeñas empresas en la actualidad. Menciona que la pandemia ha afectado negativamente a muchas pequeñas empresas y que necesitan apoyo gubernamental para sobrevivir y seguir creando puestos de trabajo. También señala que las pequeñas empresas son un componente vital de la economía y merecen más ayuda para superar las dificultades actuales.
Una lista de 6 colores en orden: azul, verde, rojo, amarillo, morado y anaranjado. Se instruye a decir en voz alta el color de cada palabra sin leer la palabra.
- Computer software engineers apply principles of computer science and mathematical analysis to design, develop, test, and evaluate software and systems. The tasks of software engineers evolve quickly with new technologies and employer preferences.
- Median annual earnings for software engineers are $79,780, with the middle 50% earning between $62,830 to $98,470. The lowest 10% earn less than $49,350 and highest 10% more than $119,770.
- Most employers prefer a bachelor's degree in computer science or software engineering. Graduate degrees are preferred for more complex jobs. Academic programs include special courses in software engineering or computer science degrees. Certification alone is typically not sufficient for most jobs.
An 11-year-old student named David Brooks campaigned to ban novelty lighters that resemble toys from being sold in Alabama. He brought examples of these lighters as well as a petition to the Center Point City Council meeting. David has been campaigning against these lighters for two years, speaking to various groups about the dangers they pose to children. The City Council agreed to write a letter to the state legislature in support of banning the sale of novelty lighters.
Facebook started in 2004 and has grown to over 64 million active users worldwide. It allows users to create profiles, connect with friends, share photos and messages. While originally focused on students, it now attracts users of all ages. Some key points:
- Facebook has become one of the most popular social networking sites and online photo sharing platforms.
- Marketers have started using Facebook for advertising and research through apps, groups, and ads embedded in users' newsfeeds. However, privacy issues remain a concern.
- Case studies show that creating useful content for audiences and engaging with them regularly can lead to successful marketing on Facebook.
Flickr is a photo sharing website and online community that allows users to upload, organize, and share photos. It has over 7 million registered users who upload over 5,000 photos per minute. Flickr revolutionized how photos are shared both for professional and amateur photographers. The community aspect is a key part of Flickr, with users tagging photos, commenting, and forming groups around interests. The strong online community also leads to real world meetups. While basic accounts are free, pro accounts provide more storage and capabilities for an annual fee.
This document summarizes a training presentation for third sector partners on the My Learning Pool online training program. It introduces the presenters and provides statistics on the third sector. It then describes My Learning Pool as offering online courses for skills gaps in areas like leadership, communication, and IT. Courses cover topics relevant for third sector staff, volunteers, and community groups. Public sector organizations can support third sector staff development. Joint training opportunities and discounted bulk purchases are suggested.
Streams in Java represent an ordered sequence of data and provide a uniform interface between programs and input/output devices. There are two basic types of streams: input streams which read data from a source and output streams which write data to a destination. The java.io package contains classes for processing different data types using byte streams for bytes and character streams for characters. Programs can use input and output streams to copy files, read primitive data types from files, and perform other input/output operations.
Learning Ecology Potential Of Google EarthGerard Brady
The document proposes a pedagogical framework called a "learning ecology" to assess online learning tools and environments. It defines learning ecology as situated within communities of practice and occurring through network formation. The framework is used to analyze Google Earth's potential as a learning tool. While Google Earth supports spatial literacy and visualization, its current educational uses are limited. However, it shows potential as a learning ecology platform if its personalization and social connectivity features are further developed.
Jason Fielder created the Delphi Scalper forex trading system to teach traders how to profit from short-term foreign exchange trades. The system uses indicators and triggers to identify optimal entry and exit points for trades that can be completed in minutes. It aims to allow traders to win multiple trades in a row with only a few trades needed per day. Some benefits include keeping trades brief, allowing other work to be done, and potentially generating enough profits to operate as a forex broker.
The Important Bird Areas Program seeks to identify and conserve important bird habitat sites across North America. It uses standardized criteria to identify IBAs of global and continental significance. Once identified, IBAs are assessed to understand bird populations, habitat quality, threats, and conservation actions. Local adoption groups are formed to develop conservation plans and take actions like habitat restoration to protect IBAs. Over 2,300 IBAs have been identified across North America so far, with many prioritized and assessed, and over 800 local groups working on conservation.
The document discusses the MIDP Sound API, which allows playing tones and recorded audio on mobile devices and defines classes like Manager, Player, and Control. The Manager is used to create Players from media locators or streams, Players control media playback and notify listeners of state changes, and Controls allow modifying properties like volume. Additional capabilities are provided by the Mobile Media API which extends the MIDP Sound API to support more advanced media formats and devices.
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Gabriele Guizzardi
Slide delle 8h di workshop su Raspberry Pi presso Warehouse Coworking Pesaro, 13/12/2014
Slides of 8h workshop about Raspberry Pi at Warehouse Coworking Pesaro, 13/12/2014
NON ESISTONO COMPUTER VECCHI (Da xp a linux - Treviso 15/4/2014)Stefano Dall'Agata
Martedì 15 aprile 2014 alle ore 20.45 presso la sede della ACSE Treviso è stato organizzato un INCONTRO GRATUITO per capire come dare una nuova vita a quei computer che si pensava di buttare, utilizzando un sistema operativo (Xubuntu – che è liberamente scaricabile) e programmi gratuiti, affidabili e funzionali per ogni esigenza.
RiminiLUG. Mini Corso su Linux p1: Installazione & ConfigurazioneAlessandro Carichini
Prima parte del mini corso su Linux, con una breve introduzione, accenni alle distro più comuni, installazione di Linux Mint e post installazione con gestione dei pacchetti.
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
Pitch presentato al Linux Day 2015 a Palermo su Vagrant e docker per confrontarli, scegliere ed iniziare. Partendo dal concetto di virtualizzazione, proseguendo con l'analisi delle due soluzioni fino a dare cenni sull'installazione ed un primo utilizzo.
Installazione Qt/Qt Quick per target AndroidPaolo Sereno
Questo breve tutorial rappresenta una mini guida per iniziare a programmare con Qt e Qt Quick su target Android. In particolare esso vuole essere un “memo” da usare durante i meetup e workshop sull’argomento organizzati dalla web community Qt-Italia.org.
L'installazione e la prima configurazione di un elevato numero di server è un'operazione lunga e ripetitiva. Il TechAdvisor Roberto Polli mostra come semplificarla utilizzando Cobbler, un'installation server open source. La tecnologia descritta da Roberto sfrutta il boot via rete (PXE-boot) e i kickstart di Red Hat, i file che contengono i parametri per l'installazione e la prima configurazione del sistema.
Oltre a Cobbler, l’articolo illustra alcuni concetti di base relativi alla procedura di boot di un sistema Linux-based e al funzionamento di un server DHCP.
Per saperne di più su questo argomento vi invitiamo a scaricare l’articolo completo. Potete inviarci le vostre domande utilizzando il form "Serve aiuto?" del nostro Centro Risorse http://www.babel.it/it/centro-risorse.html
Una guida passo-passo per installare un laboratorio multimediale/di sviluppo didattico scolastico linux e windows (dual boot) nel minor tempo possibile e con le stesse funzionalità. Aggiornata con Italc2 e Ubuntu 12.04 LTS
Hip Hop Virtual Machine
- Performance HHVM
- Compatibilità con PHP
- Compatibilità con Magento
- Compatibilità Piattaforma: Debian, Centoos, Ubuntu
Ambiente in Produzione
- Caso Studio
- Statistiche
- Problematiche
Codemotion 2012 : Sphinx: Open Source Search ServerMatteo Baccan
Codemotion 2012 : Sphinx: Open Source Search Server
Sporchiamoci le mani con un'alternativa a Lucene e MySQL. Un prodotto OpenSource, portabile, veloce, attento alle prestazioni e ai consumi di spazio e memoria. Vedremo come distribuire il carico, come effettuare hotswap di indici, come usare lo stesso JDBC per accedere a MySQL e Sphinx, come gestire indici dinamici e statici. Utilizzeremo query, subquery, strategia di ricerca diverse. Studieremo le migliori tecniche per indicizzare milioni di documenti, il tutto tramite PHP e JAVA su casi reali
Twitter è la più grossa piattaforma di microblogging del mondo
Vedremo come è possibile programmarla in Java e PHP
Se non sapete cosa vuol dire OAuth, REST API, Search API e Streaming API, se CURL vi
sembra il nome di un partito politico, se la pigrizia governa la vostra vita e non vi
muovete senza un SDK dedicato ad ogni piattaforma che programmate, allora siete nel
posto giusto.
Codemotion 2011
50 minuti per svelare la tigre, il cavallo e sapere che esiste il delfino.
La nuova versione di Java implementa caratteristiche che da tempo erano attese
nello standard del linguaggio: Metadata, Generic Types, AutoBoxing e
Unboxing dei tipi primitivi, Static import, gestione dinamica dei Loop e delle
Enumeration.
Per Java 6: gestione di SystemTray e motori di scripting.
Vediamo di cosa si tratta e di come poter utilizzare queste nuove feature all'interno dei nostri programmi
Javaday Facebook Java Framework
Facebook è il maggior social network mondiale
Vedremo come è possibile creare delle applicazioni per Facebook
Vedremo cosa significa FBML, FQL, REST Server, FBJS, FQLJDBC
Vedremo soprattutto come e quanto Java può essere usato in questo
ambito
Da 0 a 100 in 35 minuti, allacciate le cinture ;)
1. LinuxDay 2015
http://www.linoxnovara.org/
Matteo Baccan e Valerio Tognozzi
Realizzazione di una stazione meteo
È possibile realizzare una stazione meteo con prodotti opensource? Cosa
mi serve per iniziare? In questo breve talk vedremo le scelte che sono state
fatte per poter avere una GUI responsive in ambiente Raspberry Pi
http://www.baccan.it
http://www.tecnogeppetto.it
Cosa vedremo oggi
2. LinuxDay 2015
http://www.linoxnovara.org/
Chi sono?
Matteo Baccan
Risolvo problemi
Ottimizzo architetture software
Aiuto le aziende a realizzare i propri sogni
Sono uno sviluppatore da più di 25 anni.
Ho imparato a essere trasversale, a non
smettere mai di studiare e ad ascoltare i
miei clienti per realizzare quello che
hanno in mente
3. LinuxDay 2015
http://www.linoxnovara.org/
Chi sono?
Valerio Tognozzi
aka TecnoGeppetto mi diverto facendo il
Maker a tempo pieno.
Arduino, RaspberryPi e sensori di tutti i
tipi, sono il mio pane quotidiano, con i
quali creo soluzioni per i progetti più
strani.
Nei ritagli di tempo mi occupo di
marketing e di vendite di alcune aziende
commerciali.
5. LinuxDay 2015
http://www.linoxnovara.org/
Tratto da : http://it.wikipedia.org/wiki/Raspberry_Pi
Il Raspberry Pi è un single-board computer (un calcolatore implementato su una sola
scheda elettronica) sviluppato nel Regno Unito dalla Raspberry Pi Foundation.
Il suo lancio al pubblico è avvenuto alla fine del mese di febbraio 2012.
Finora, ne sono state prodotte quattro versioni (Modelli: A, B, A+, B+, 2) con prezzi da
20 a 35 dollari statunitensi.
L'idea di base è la realizzazione di un dispositivo economico, concepito per stimolare
l'insegnamento di base dell'informatica e della programmazione nelle scuole.
Cos’è Raspberry Pi?
6. LinuxDay 2015
http://www.linoxnovara.org/
Dal punto di vista hardware
Il progetto ruota attorno a un System-on-a-chip (SoC) Broadcom BCM2835,
che incorpora un processore BMC2835 700 MHz ARM1176JZF-S core
(overcloccabile da software), una GPU VideoCore IV, e 256 (modello A) o 512 (modello
B) Megabyte di memoria.
Il modello 2 cambia processore e monta un quad-Core BCM2836 900 MHz ARM
(Cortex A7) (per ora overcloccabile a 1000 Mhz), con supporto per il futuro Windows
10 e Snappy Ubuntu Core
Il progetto non prevede né hard disk né una unità a stato solido, affidandosi invece a
una scheda SD per il boot e per la memoria non volatile.
La scheda è stata progettata per ospitare sistemi operativi basati su un kernel Linux o
RISC OS.
Cos’è Raspberry Pi?
11. LinuxDay 2015
http://www.linoxnovara.org/
Prezzi e disponibilità
Il prezzo del modello B è attorno ai 34 euro ed è disponibile in molti store online
Questo era il prezzo Amazon di oggi 18 ottobre 2015
12. LinuxDay 2015
http://www.linoxnovara.org/
Prezzi e disponibilità
Il prezzo del modello B 2 è attorno ai 43 euro ed è disponibile in molti store online
Questo era il prezzo Amazon di oggi 18 ottobre 2015
13. LinuxDay 2015
http://www.linoxnovara.org/
Hardware consigliato
Cosa potrebbe servirmi per usare al meglio Raspberry Pi ?
Proviamo a fare una piccola lista della spesa, con hardware sicuramente funzionante,
usando Amazon Italia e Amazon UK
Chiaramente, sapendo cosa ci serve, lo possiamo acquistare da qualsiasi sito o negozio
17. LinuxDay 2015
http://www.linoxnovara.org/
Hardware consigliato
E se non abbiamo TV o monitor dove collegare il Raspberry Pi
Possiamo prendere un monitor TFT a colori per auto
Comprensivo di alimentatore 12V 5A
E per sicurezza un connettore DC12V (1 / 2 euro)
20. LinuxDay 2015
http://www.linoxnovara.org/
NOOBS
Per installare NOOBS servono 4 cose
1) NOOBS_v1_4_2.zip scaricabile dal sito Raspberrypi.org
2) Una scheda SD, nella quale copiare i file presenti all’interno dello ZIP. Anche se la
dimensione minima è da 4GB, consiglio l’utilizzo di una scheda da 16 o 32 GB
3) Un programma per formattare la scheda SD nel modo corretto: in base al sistema
operativo esiste un diverso software da utilizzare:
Windows : https://www.sdcard.org/downloads/formatter_4/eula_windows/
Mac: https://www.sdcard.org/downloads/formatter_4/eula_mac/
Linux: gparted o parted
4) 2 colpi di mouse per copiare e incollare i file sulla SD
Per maggiori informazioni esiste un piccolo tutorial a questo indirizzo
http://www.raspberrypi.org/help/
21. LinuxDay 2015
http://www.linoxnovara.org/
Raspbian
Oggi parleremo di Raspbian
È una distribuzione pensata per essere “general purpose”, con un
utilizzo client
Non esiste una versione server ufficiale di Raspbian
Vediamo insieme come costruirla.
Iniziamo a spremere il nostro lampone
22. LinuxDay 2015
http://www.linoxnovara.org/
Raspbian Server Edition
Qualcuno si è posto il problema di non avere una distribuzione
ottimizzata per una configurazione server e ha realizzato
Raspbian Server Edition 2.5
http://sirlagz.net/2013/07/19/raspbian-server-edition-2-5/
In realtà è una Raspbian basata su Debian 7 Wheezy portata a Debian 8
Jessie, con la rimozione di una serie di pacchetti “inutili” a livello server.
Parte dal concetto che: un “purista” considera peccaminoso l’utilizzo di
una GUI su un server, viene quindi rimosso LXDE e tutti i relativi
pacchetti, più una serie di pacchetti non necessari su un server
In alternativa potete provare
Minimal Raspbian – Server and XFCE editions
http://xecdesign.com/minimal-raspbian-server-xfce-editions/
23. LinuxDay 2015
http://www.linoxnovara.org/
Raspbian Server Edition
Non dobbiamo però essere ottimisti: la sola rimozione dei pacchetti
inutili non basta a realizzare una versione server di Raspberry Pi.
Vediamo quali altre tecniche ci permettono di migliorare i 2 aspetti
che possono cambiare notevolmente le prestazioni di un Raspberry Pi
Velocità Memoria
25. LinuxDay 2015
http://www.linoxnovara.org/
Velocità: Overclock manuale
arm_freq gpu_freq core_freq sdram_freq over_voltage
800
900 275 500
900 450 450
930 350 500
1000 500 500 6
Manualmente
1050 6
1150 500 600 8
Per chi volesse provare manualmente, basta modificare direttamente il file
sudo nano /boot/config.txt
Sul forum Raspberry Pi sono indicate altre configurazioni possibili, che possono
farci arrivare alla frequenza di 1150MHz.
Per info http://elinux.org/RPiconfig
26. LinuxDay 2015
http://www.linoxnovara.org/
Velocità: Overclock manuale
Ci sono comunque anche voci di overclock a 1200 MHz e per chi volesse provare,
sono disponibili sul mercato dissipatori a 7 euro, in grado di diminuire di qualche
grado la temperatura del processore.
Oppure se avete ancora in cantina dei vecchi PC .. staccategli la ventolina, costerà
ancora meno :)
27. LinuxDay 2015
http://www.linoxnovara.org/
Memoria: Condivisione memoria CPU/GPU
Cambio allocazione della memoria CPU/GPU
Di default Raspberry Pi parte con 64MB di ram per la GPU. Installando un sistema
server possiamo diminuire questa memoria a 16MB
Possiamo modifiare
/boot/config.txt
gpu_mem=16
o usare
sudo raspi-config
28. LinuxDay 2015
http://www.linoxnovara.org/
Memoria: Sessioni terminale inutili
Ottimizzazione servizi esistenti
sudo nano /etc/inittab
Al netto delle rimozioni fatte su Raspbian, possiamo ancora ottimizzare
diminuendo i processi per le connessioni terminale, passando dalle 6
(default) a 2 .
1:2345:respawn:/sbin/getty --noclear 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
29. LinuxDay 2015
http://www.linoxnovara.org/
Consuntivo PRE/POST ottimizzazioni
Aumento velocità di elaborazione passando da 700 a 1000 MHz = 50%
Aumento di memoria = 60%
pi@piserver ~ $ free
total used free shared buffers cached
Mem: 497504 58816 438688 0 15588 26976
-/+ buffers/cache: 16252 481252
Swap: 102396 0 102396
pi@pinodo2 ~ $ free
total used free shared buffers cached
Mem: 448736 175880 272856 0 18368 137004
-/+ buffers/cache: 20508 428228
Swap: 102396 0 102396
30. LinuxDay 2015
http://www.linoxnovara.org/
Per chi vuole osare
Possiamo spremere ancora di più Raspberry Pi
● staccando alcuni degli ultimi servizi attivi (p.e. rsyslog)
● passando ad 1 sessione terminale
● aumentando l’overclock e trovando un modo affidabile per
raffreddare il processore
● acquistare delle SD più performanti (classe 10)
Ricordiamoci che l’overclock esagerato potrebbe rendere le SD utilizzate
dal sistema operativo inutilizzabili.
Se questo non vi spaventa e avete già bruciato qualche processore (so
che per qualcuno che legge queste slide non sarebbe la prima volta)
allora potete osare.
Fino alla configurazione indicata, funziona tutto, oltre, basta provare :)
32. LinuxDay 2015
http://www.linoxnovara.org/
Stack LAMP
Installazione stack LAMP
Di default, lo stack LAMP non è installato su Raspbian.
Raspbian parte infatti come sistema operativo “client” e non “server”, per
trasformarlo in server occorre installare quello che manca, o scaricare
una distribuzione apposita
Essendo un sistema Linux, l’installazione dello stack LAMP è identica a
quella che si farebbe su un qualsiasi server Debian non Raspberry Pi
33. LinuxDay 2015
http://www.linoxnovara.org/
Stack LAMP
Installiamo lo stack LAMP + PHPMyAdmin
Tramite apt, possiamo installare
● Apache + l'integrazione a php
● PHP5 + l'interfaccia verso mysql + la versione fpm di php
● MySQL server e client
● PhpMyAdmin
sudo apt-get install apache2 php5 mysql-server
libapache2-mod-php5 php5-mysql php5-fpm mysql-client
phpmyadmin
34. LinuxDay 2015
http://www.linoxnovara.org/
Sensori - Python
Alcuni dei sensori utilizzati sono forniti da Adafruit Industries.
Oltre a fornire i sensori, Adafruit fornisce anche alcuni esempi Python di come leggere dei dati
rilevati dai sensori stessi.
Per questo motivo, abbiamo optato per una personalizzazione di tali programmi, in modo che
non si limitassero a leggere i dati e a visualizzarli, ma che li andassero anche a scrivere su un
database MySQL.
Sensori
35. LinuxDay 2015
http://www.linoxnovara.org/
WEB - GUI
Per la realizzazione della GUI web sono stati utilizzati alcuni componenti grafici, ideali per la
realizzazione di GUI responsive e in linea con gli attuali standard di mercato
- Bootstrap – per la struttura delle pagine
- Jquery – per il codice aggiuntivo che dinamicamente aggiorna le pagine
- Flot – per la realizzazione dei grafici
- Font Awesome – per le icone personalizzate
- MetisMenu – per i menu del programma
Prodotti opensource per la GUI
36. LinuxDay 2015
http://www.linoxnovara.org/
Funzionamento
Alla partenza di Raspberry viene invocato il seguente service
'start')
#!/bin/sh
service apache2 start
service mysql start
sudo /home/pi/meteo/Adafruit_BMP085_mysql.py &
exit 0
touch /var/lock/subsys/meteo
;;
'stop')
#!/bin/sh
sudo kill $(ps aux | grep 'Adafruit_BMP085_mysql.py' | awk '{print $2}')
service apache2 stop
service mysql stop
exit 0
rm -f /var/lock/subsys/meteo
;;
*)
echo "Usage: $0 { start | stop }"
;;
Service da installare su Raspberry Pi
37. LinuxDay 2015
http://www.linoxnovara.org/
Lettura dei sensori
# Initialise the BMP085 and use STANDARD mode (default value)
# bmp = BMP085(0x77, debug=True)
bmp = BMP085(0x77)
# To specify a different operating mode, uncomment one of the following:
# bmp = BMP085(0x77, 0) # ULTRALOWPOWER Mode
# bmp = BMP085(0x77, 1) # STANDARD Mode
# bmp = BMP085(0x77, 2) # HIRES Mode
# bmp = BMP085(0x77, 3) # ULTRAHIRES Mode
temp = bmp.readTemperature()
# Read the current barometric pressure level
pressure = bmp.readPressure()
# To calculate altitude based on an estimated mean sea level pressure
# (1013.25 hPa) call the function as follows, but this won't be very accurate
altitude = bmp.readAltitude()
Lettura tramite Python
38. LinuxDay 2015
http://www.linoxnovara.org/
Scrittura su MySQL
while 1==1:
insert = "insert into sensori(stazione,data,temperatura,pressione,altitudine)
values('Linox','%s',%.2f,%.2f,%.2f);" % (datetime.datetime.now().strftime("%Y-%m-
%d %H:%M:%S"), temp , (pressure / 100.0) , altitude)
con = 0
try:
con = mdb.connect('192.168.2.22', 'pi', 'raspberry', 'meteo')
cur = con.cursor()
cur.execute( insert )
except _mysql.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1)
finally:
if con:
con.close()
time.sleep(1);
Inserimento in db MySQL
39. LinuxDay 2015
http://www.linoxnovara.org/
Componenti - GUI
● Visualizzazione sensori
- Grafici Flot aggiornati realtime tramite un webservice
HTTP/JSON interrogato tramite Jquery
● TimeLapsed
- In questo caso, lettura tramite PHP della cartella
timelapsed e visualizzazione di uno slideshow
delle immagini catturate
Parti della GUI