
ciao, sono finito sono nei sistemi embedded
ingegnere Sono davvero un gran lavoratore e
il discorso è piuttosto focalizzato sul
sistemi embedded di me e in particolare
con esempi dal Raspberry Pi che
abbiamo giocato con questo perché lo è
molto bello e oggi sto solo andando
darti una breve idea di cosa siamo
trattare con sistemi embedded oggi e
stiamo solo andando a vedere come
il modello di attore funziona per cui è stato girato
un bel po ‘di tempo ora, quindi sono sicuro che devi
l’ho incontrato ad un certo punto, quindi lo sono
Non intenzione di andare troppo nel dettaglio
lì è in realtà un modello piuttosto semplice
quindi non dovrebbe avere problemi lì e
stiamo coinvolgendo il progetto al
momento chiamato Erlang incorporato lo farò
parlane un po ‘e dimmi un po’
sui nostri obiettivi e noi stiamo cercando di
realizzalo e poi vedremo alcuni
esempi pratici su come possiamo applicare
il modello dell’attore e la linea utente da modellare
il nostro sistema programma più i nostri sistemi
e vedremo una semplice demo che ho
fatto con il Raspberry Pi e infine
bene ti mostrerò un po ‘di quello che sono
al momento sto lavorando se hai tempo
posso avere alcune domande e risposte
essere qui per il resto della conferenza
quindi sentiti libero di parlare con me se vuoi
per parlare di più su questo va bene così che cos’è
un sistema embedded questo è stato coperto
nei precedenti due colloqui, quindi non lo sono
andando a tuo turno in questo il
tradizionalmente è un sistema che ha un
scopo specifico che può essere parte di a
sistema più grande a volte ha tempo reale
vincoli e così via, ma generalmente lo è
un piccolo dispositivo fisicamente è più
un po ‘ spesso anche questo è inteso
fare solo una cosa e farlo molto bene
um attualmente la lingua di scelta per
lingua franca del mondo embedded a
vedere che è stato visto anche in passato
ed è piuttosto strano vederlo
anche in aumento ma non c’è
negando di sapere che puoi vedere è
qui per restare
andando a liberarsi di vedere così ma il
il problema è che ci sono certe cose
non puoi fare molto bene in C e questi
le cose sembrano essere i problemi che siamo
occupandoci dei sistemi di oggi, così siamo
affrontare un sistema sempre più complesso
su piattaforme di chip su dispositivi che erano
lavorando o sviluppando e gestendo
la complessità di questi sistemi solo
a causa della loro vastità sta diventando
un problema potrei avere questo bellissimo
frase chiamata Internet of Things
il che significa che i nostri dispositivi sono
connessi e distribuiti e loro hanno
ha bisogno di supporto in rete di
supporto di comunicazione e a meno che
tu usi un socket quadro
programmare in C non è divertente e di nuovo
trattare con multi-core e
dispositivi eterogenei in C non è divertente come
beh, e questo è come decidere di mettere
è lì il momento di commercializzarlo sempre e
problema sempre crescente naturalmente
devono essere in grado di prototipare rapidamente
le tue idee e con gli strumenti che noi
oggi come gli stampatori 3d stanno diventando così
è economico è abbastanza possibile a manovella
fuori prototipi in poche settimane
invece di mesi um così sistemi incorporati
significa un sacco di cose così e così
si traduce in diverse metodologie
essere coinvolti nella progettazione e lasciarlo
non è così personale un bare metal
l’approccio sarebbe seguito direttamente
registra la manipolazione impostando il tuo
periferiche ecc. perché alcune sono dirette
registrati e se le relazioni non hai
un sistema operativo di alto livello n
programmatore in quanto è possibile utilizzare la console in questo modo
è davvero per dispositivi di piccole dimensioni a 8 e 16 bit
dispositivi di classe e puoi anche impiegare un
questo è il sistema operativo in tempo reale
abbastanza comune in particolare per i militari
e applicazioni spaziali dove è necessario
garantisce garanzie temporali
fai il datore di lavoro su TLS e anche noi
ho incorporato Linux che è precisamente
solo imitare magro e difficile
interfacce che ti permettono di comunicare
con il mondo esterno sotto forma di
moduli del kernel hanno parlato con il
periferiche sul sistema su chip
dispositivi così oggi mi concentrerò su
queste due categorie non siamo davvero
interessato a guardare il metallo nudo e
le piattaforme che hai a disposizione oggi
rende molto facile per noi solo ottenere
uno fuori dagli scaffali invece di esplorare
questi due concetti um così hai mai fatto
usato un’arteria prima che dappertutto abbia
prima hai lavorato su una piattaforma embedded
quindi probabilmente avrai familiarità con
questi concetti allora così per essere
hai una nozione di compito e poi tu
divide il tuo programma o applicazione in
piccoli pezzi e poi hai un
programmatore del sistema operativo che può
avere un pettirosso preventivo o circolare
programmazione che si occupa della programmazione
cose in un’ora nel reale
esecuzione e comunicazione avviene tramite
memoria condivisa e sistema operativo
fornirti le funzionalità da fare
questo e perché è l’hardware comunque
assicurati di fornire un certo controllo
accesso alle periferiche o all’hardware
accesso in generale hai nozione di nuovo
Texas semafori e guarda ora se tu
guarda i medici è diverso
la storia non è un nuovo concetto è stato
in giro per un po ‘ma ora
abbiamo $ 35 £ 30 fermati
battendo la spia del sé è
diventando sempre più popolare questo è
buono per il mondo del software ma in realtà
trovano ragazzi di hardware incorporano di disegni
loro stessi in perdita perché il
concetti che sono abituati a dire
i compiti non esistono in modo nativo all’interno del
sistema operativo cosa intendo con quello
ovviamente puoi usare una libreria finale
in C ecc, ma non dovevano farlo
direttamente sul rtos potevano solo
avvolgerlo e molto minimale
sorta di wrapper in modo che non possano davvero ottenere
lì e avvolgere le loro teste intorno a questo
e questo pone un problema e tratta il
discussioni e vedere di nuovo non è divertente, um
e anche i framework dei driver di periferica
la documentazione è piuttosto terribile
e molto spesso ti ritrovi
grattandoti la testa che non è mia così
diamo un’occhiata al modello di azione questo è
non deprimente questo è divertente questo è di nuovo
un concetto molto vecchio e l’idea è molto
semplice hai questi molto primitivi
elementi costitutivi che ti consentono di comporre
sistemi distribuiti e la portata di esso
è che sono autonomi così
essi non avrebbero condividono la memoria che significa che questo
leggendoli attraverso diversi nodi o
diverse reti sono diverse
le piattaforme sono molto facili da fare e no
deve usare presto è stato implementato
in una varietà di linguaggi di programmazione
e sì intendo una caratteristica interessante
lavoro dovrei dire il più interessante
caratteristica è l’aspetto della comunicazione
sebbene usi un messaggio sincrono
passando e ha una nozione di una casella di posta
in modo da poter inviare il messaggio da uno
processo all’altro e sarà messo
nella sua casella di posta per essere elaborato quando
arriva il momento e quando è il momento
non ci sono più messaggi di fronte
quel particolare messaggio di senso e
dopo aver ricevuto un messaggio ce ne sono tre
le operazioni che puoi fare è una di quelle
genera un nuovo attore o puoi cambiare il tuo
stato interno a seconda del messaggio
è ricevuto o puoi scegliere di passare
il messaggio al prossimo attore nel
line um è un grafico
rappresentazione di questo diciamo di avere
questo attore di acquisizione dati che ha
acquisito alcuni numeri da un gruppo di
sensori che ha collegato diciamo
dobbiamo fare alcune operazioni su questi
quello che possiamo fare è che possiamo generare un nuovo
attore e numero cruncher e quindi inviare
i valori che noi
acquisito dall’acquisitore a
il contraente questo attore può quindi
elaborare questi e quindi inviarlo per
può generare nuovi attori o lavoratori um
inviare sottoinsiemi di queste letture a loro
farli calcolare e ricevere il
i risultati potrebbero non accadere in
sequenza questo può accadere attualmente
perché questi sono tutti processi diversi
processi in esecuzione una volta collazionati tutti
le informazioni indietro o i risultati indietro
può quindi inviarlo all’acquisizione
unità che ora sta aspettando una risposta um
quindi è un modello molto semplice che puoi
vedi che non c’è molto da fare se non lo fai
scendere al prove o ma ha un po ‘
limitazioni così fa il modello generale
non avere ereditarietà emotiva e il
la gerarchia generale non è definita in
termini concreti quindi ogni lingua o
l’implementazione della libreria è certa
variazioni su questa idea di architettura
sistema complesso anche un sincrono
il passaggio di messaggi può essere problematico per
alcune applicazioni anche se per il
le applicazioni di cui parlo oggi sono parlate
non pone un problema sicuramente lo farai
non affrontare questo problema con questo ultimo punto
sorta di prova il punto iniziale che ho fatto
perché sono astratti
finendo di renderti speciale
lavorare in squadra o in molte persone
lavorando su un progetto diventa un
problema perché quanto in basso si va in termini di
la granularità può essere una benedizione e a
maledico Parlerò più su questo nel
pochi in realtà in pochi um sito web
ora tutto quello che ho detto che sono stato
coinvolto in questo progetto chiamato Erlang
incorporato è una partnership tra
Soluzioni di Erlang e Università di
Kent e stiamo cercando il modo in cui possiamo
impiegare la sua linea come strumento da gestire
queste complessità e usarlo come un
Orchestratore o umidità del sistema
come se fosse per portarli
per risolvere queste sfide che abbiamo
L’ho visto nella prima vita, se vuoi
più informazioni perché stanno mentendo
a letto tranquilli abbiamo alcuni video di
luci lampeggianti e ci siamo divertiti un po ‘
esplorazioni come un cucchiaio di 136.000
processi sul Raspberry Pi e io sono
comunicando con loro questi sono i nostri
i processi di linea stavano operando
sistema fresco dragoncello che cosa felice così tanto
perché sono come mai siamo coinvolti in questo
progetto perché ti conoscevi
non posso accettare di collaborare con online
soluzioni e cosa è una persona um Erlang
ovviamente in questa sera c’è l’eczema
l’argomento che parlare del XML e
è stato testato in battaglia su ericsson
da cui siamo oryza nated e molti
altre compagnie e quindi una linea non lo è
una nuova lingua per cui è stata girata
un bel po ‘di tempo ed è stato usato in
produzione abbastanza un po ‘di tempo
è stato originariamente progettato per embedded
applicazioni quindi la telefonia
applicazioni o commutatori telefonici
sviluppato ericsson che era il principale
la piattaforma su cui è stato progettato il linguaggio
o raffinato su di esso era incorporato
voglio dire che non è stato pubblicato
un processore ARM incorporato ma è il
il concetto era buono per definizione e
sistema incorporato in modo che abbia il supporto per
Concurrency e Pneus distribuiti fuori da
la scatola e ha qualcosa di molto interessante
supervisione e gestione degli errori
gerarchie di cui parlerò
in un minuto e ovviamente ce ne sono alcuni
altri pezzi lucenti, quindi abbiamo a
errore molto semplice e coerente
recupero e gerarchia del turismo di mini
supponendo che io vari con um otterrò
al limite ha una colpa integrata
la tolleranza è in parte dovuta al fatto
quegli attori sono isolati e parte di
il tuo sistema non funzionerà correttamente
giù per l’intero
a meno che non ci sia qualcosa
catastroficamente sbagliato con il tuo sistema
così puoi creare strutturato
architetture che la nostra coda è sicura e se
non riescono possono essere riavviati o presi
cura di un altro mezzo a seconda del
gerarchia di supervisione l’hai scelta
ha anche una caratteristica interessante in cui
supporta il caricamento di hot code in modo che tu possa
aggiorna la funzionalità del tuo sistema
senza doverlo abbassare cosa
ciò significa che puoi risolvere un bug
il tuo sistema e lo distribuisci al tuo VM e
una volta che l’attore sta girando così vecchio
il codice l’ha terminato così la prossima volta
è generato genererà il nuovo
versione del codice ma il cambiamento è
senza soluzione di continuità quindi è per questo che si chiama
caricamento a caldo freddo e supporto dinamico
è la riconfigurazione e la rovina di un attore
abbastanza semplice nella nostra vita è solo un
chiama questa funzione del telefono e io sono
intenzione di usare il termine attore e una linea
processo in modo intercambiabile perché parallelo
processi o agito Wow e una volta voi
cucchiaio un processo quindi hai un nuovo PID
idea di processo per comunicare con e
inviare messaggi e comunicazioni
succede mentre presso l’operatore bancario e
usando questo costrutto possono inviare
messaggi dal primo processo al
la seconda ora passa il messaggio
sono sincronicamente e non c’è
stretta di mano a meno che tu non sia esplicitamente
implementato te stesso quindi cosa tu cosa
fai generalmente se vuoi una risposta
indietro si passa il proprio ID di processo a
il secondo processo della tua messaggistica così
che quando ha una risposta per te
sa dove spedirlo così usando te stesso
ottiene il proprio ID di processo e poi
invialo come il primo elemento del tuo
topic um quando arriviamo all’errore error
fabbricazione
o meccanismi di recupero degli errori che abbiamo
questa nozione di aerei in modo da poter collegare
più processi insieme e quando tu
collega le cose insieme se uno di loro va
giù gli altri lo sanno ora
può fare a due cose principali con questo noi
puoi semplicemente scegliere di ignorare questo e avere
il tuo intero sistema fallisce o puoi
implementare supervisori di cui occuparsi
questo e poi riavviarli o fare un po ‘
altri bit extra e riavviarli e
unificazione um la filosofia generale in
scrivere i tuoi processi di linea o online
moduli o attori è lasciarlo fallire e
quindi impiegare la gerarchia di supervisione a
prendersi cura degli errori che questo porta a a
moduli più puliti o lineari perché
non dovete preoccuparvi di
implementando tutto il controllo degli errori ecc
all’interno del modulo e aumenta anche
riutilizzo della polpa potenzialmente perché specifico
condizioni che devi affrontare
condizioni di errore specifiche che hai
trattare e può essere poi implementato
come parte di un supervisore dovrebbe
essere parte dell’attore assiale o il
processore al tuo programma um così che io
significa collegando in uscita i segnali è
chiaramente dimostrato da questa neve che sono
diagramma qui diciamo che ne abbiamo tre
processi e sono tutti collegati
insieme se uno di loro ha un difetto se
fallisce poi l’altro riceverà
un messaggio negativo e se hai un
motivo per cui sarà trasmesso anche e
una volta ricevuto un messaggio lo farà
terminare anche lasciando i collegamenti
processo so che alcuni
è andato storto e questo esiste
si propagherà attraverso tutto il link
processi a meno che non lo dica esplicitamente
per intrappolare le uscite che intrappolano le uscite significa che
se riceve un messaggio di errore se non lo farà
propagarsi e cercherà di
affrontare questo senza dover uccidere
o inviare messaggi agli altri processi
essere re quindi diciamo che abbiamo di nuovo
tre processi principali e ora Pippi o
il nostro secondo processo di trapping esce um
quindi abbiamo un caveau in prima persona
ricevere un messaggio di uscita normalmente se
questo non stava intrappolando se non lo fosse
le uscite di cattura allora avremmo un
problema nelle nostre mani ma ora scegliamo
ignorare la propagazione del messaggio di errore
attraverso e poi possiamo forse riavviare a
ancora o ancora prendere precauzioni per portare
fino al sistema su uno stato in un minuto
sistemi è fondamentale che tu sappia il
stato del tuo sistema in ogni momento
perché diciamo che stai sviluppando a
robot che ha alcuni molto nitidi
volare come anime ecc. non puoi
permettersi di avere il proprio sistema in linea
affermare che può essere abbastanza letale, così
fare con gli errori e avere questi
le gerarchie di supervisione sono abbastanza utili
creare un sistema logico e sicuro um
mai caratteristica di Erlang è questo sta andando
torna alla nostra piccola C theta per
l’interfaccia con l’hardware lo farai in alcuni
il punto deve scrivere un po ‘di mare e
la terza linea fornisce servizi
per collegare a questi programmi vedi e
vedrà i driver che a te giusto e
usali come parte del tuo sistema generale
quindi diciamo che hai un I quadrato
dispositivo e tu no
un’altra linea vincolante per questo ma tu hai
un posto vincolante per esso basta avvolgerlo
intorno a dirlo e poi sì
rappresentante delle funzioni del C
I tassi di trasmissione si pongono con un’altra linea
puoi chiamare nel software così con tutti
le cose considerate sono altre linee che penso sia
un ottimo strumento per orchestrare al
operazione globale del tuo sistema
quasi mi ricorda il design della scatola nera
metodologie e dire VHDL sono molto
ben accetti difficilmente la descrizione sta facendo
grandi moduli e quindi crea il massimo livello
descrizione del tuo sistema e link
le cose insieme usando diversi prendono il
posa ecc. ovviamente non è la stessa cosa
concetto um ma la gerarchia generale e
il tuo modo di modellare in architettura
sistemi penso che ce ne siano alcuni
equipaggiamento percorso poteri interessanti in
questi due grandi edifici, ok, andiamo
parliamo di raspberry pi che abbiamo visto
questo nella prima presentazione oggi così
è passato così tanto tempo non ci credo
è una piattaforma estremamente eccitante
la gente dice che è solo una moda passeggera è tutto
strano che tutti usino questi giorni io
non ci credo, penso che se le persone
tenere i LED lampeggianti con esso diventano grandi
un sacco di simpatici giochi di piping se non è possibile
effettivamente cambiare l’intero problema ICT
abbiamo e potresti finalmente averne un po ‘
progetti interessanti che escono da
università e quindi ovviamente
il fondotinta pi greco è un ente di beneficenza e
la loro missione è quella di promuovere
informatica e concorrenza di pietre
e il parallelismo sono problemi che abbiamo
trattare con oggi e sta andando solo
per peggiorare perché abbiamo questi
dispositivi multicolori e ciò che realmente
vuole programmare questi dritto fuori
università perché bene comunque um così
questi sono i bambini che useranno il mio
oggi ipod saranno i nostri futuri ingegneri
futuri hacker e futuri programmatori
um se possiamo in qualche modo creare materiale
questo è interessante per loro che insegna
loro le basi della concorrenza e
parallelismo penso che andrà
molto bene e loro all’università no
imparare questi concetti nel
secondo anno del loro corso, così abbiamo
molte periferiche sulla torta generale
Scopo, ti devo i nostri CIO thailandesi
spi postato modulazione TSRI CSI ed è quindi
una cosa è piuttosto una bella piattaforma
che puoi permetterti di uccidere ciò che intendo
da questo è che non ti dispiacerà se
in qualche modo lo stai hackerando e lo sai
hai messo in corto che non è la fine del
mondo è solo trentacinque dollari a
la fine di così spero al mese di
tempi di consegna sta diventando un sacco di
meglio x ci sarà un punto in cui noi
sarà in grado di ordinarlo e lo farà
intorno dicono che è un buon punto um
così ho pensato se fornissimo le persone
abbastanza progetti divertenti e questo è quello che
le persone si affrettano a capire perché stanno facendo
è abbastanza eccitante vedremo un sacco di
progetti divertenti come piccoli robot ora
questo non posso competere con il
la demo precedente ovviamente era troppo
molto divertente oh ma puoi mettere insieme a
piccoli buggy rubati in alcuni sensi ecc
perché sai che è un bel po ‘
di soldi e non lo vedo
difficile se usi un po ‘di più e
interfacce biblioteche e così via così
è molto più eccitante di alcuni
applicazioni console che si arriva a
come parte della tua educazione in
i primi anni quindi non ce l’ho con
me perché viaggiare con i robot è
in realtà abbastanza difficile, ma ecco a
semplice dimostrazione del perché stiamo andando in giro
nel nostro ufficio svedese ce ne sono alcuni
sensi e feedback informazioni a
questo processo del cervello e poi ne usiamo alcuni
altri attori o processi per controllare il
GPIO pin per dire dove andare così noi
avere di più
un driver e un chip che ne bastano pochi
input e poi si limita a farlo
è una demo precoce non fa molto ma il
l’idea semplice è che tu stai solo dando
Raspberry Pi e un autista nel
batteria e hai sbagliato è abbastanza
divertente, va bene, parliamo di come
effettivamente impiegare questi concetti sul
Ti dico che controlliamo il
direzione del motore ecc. usando semplici DPI
organi e non ho intenzione di entrare
il dettaglio di Xavier vede parlare con loro
ma è fondamentalmente giusto nei file
il modulo gpio del kernel espone alcuni file
Sisifo rappresentazioni di file che
puoi semplicemente parlare con per impostare il
direzione del perno e poi puoi
basta scrivere valore seme e quindi um
che va bene così possiamo avere un processo
parlando con un altro processo che parla
direttamente al pin impostandone il valore
ma cosa succede se ne abbiamo più
elabora i valori di invio allo stesso
ora perché stai impiegando il
modello dell’attore quello che succede è che tu hai te
finire con un sacco di messaggi in pin
Cassetta delle lettere di diciassette anni ma la sequenza di
i messaggi che potresti ricevere potrebbero effettivamente
uccidi il tuo assistente, quindi se ci provi
cambiare la direzione di un motore
fisicamente si può danneggiare gli dà
alcune cose tecniche e induttive
carichi e canzoni così direttamente controllanti
i processi cambiano lo stato di un pin
non è una buona decisione di progettazione perché
potresti finire con te che conosci abbastanza a
bollitore risultati catastrofici così da
impiegato questo è dove decidere il
la granularità entra in gioco quindi se tu
decidere di astrarre questo livello in alto o
giù a seconda di come lo guardi tu
può impiegare questo processo proxy che richiede
tutti questi messaggi per i valori di stato per
entra e poi li invia al
cose rilevanti direttamente ora che puoi
sostengo che questo è solo un modo di bloccare
cose in basso e questo di nuovo è solo un
bloccare il senso tradizionale delle cose
ma puoi fare molto di più che
avendo una specie di meccanismo di blocco o a
meccanismo mutua esclusione è quindi possibile
implementa cose interessanti come te
digitare il modo di commutazione per il pin e se
è troppo alto, lo rallento e basta
generare un messaggio di errore o fare attenzione
ne è interessante il fatto
devi tener conto di quando
hai a che fare con il mondo reale dentro
software se si generano anche processi
rapidamente le possibilità sulla cosa peggiore
ciò può accadere piuttosto è la tua confusione
cercherò e dovrai liberare il
RAM o semplicemente riavviare la macchina o
qualcosa ma se ti stai interfacciato
un vero pezzo di hardware il vero pezzo
di un gadget puoi causare un bel po ‘di
danno come ho detto prima e uccido
il tuo sistema quindi la sicurezza è abbastanza importante
in generale metodologie di progettazione embedded
quindi implementando questi diversi
i criteri che puoi eliminare dallo stress creano
garantisce quasi per assicurarsi che il tuo
il sistema non ucciderà qualcosa che è
sempre bene ciò che ama uccidere qualcuno
bene di nuovo l’astrazione o il
la granularità può essere scelta e una benedizione
allo stesso tempo così grana fine
l’astrazione fornisce moduli lineari
che può essere testato e potenzialmente
riutilizzato più facilmente ma il meglio sta arrivando
con la nozione o decidere come
basso che vuoi andare è un problema
in particolare stai lavorando con diversi
squadra una sorta di modello che siamo
parlare con al momento è questa idea
di componenti e
moduli così e questi sono una piattaforma alcuni
di parti di esso sono piattaforma agnostica così
abbiamo l’API del componente nella parte superiore di
tutto questo è il vero bit di
codice che interagisci con il tuo
programma e poi abbiamo una periferica
API al livello inferiore che tu
generalmente non trattano come parte di a
programma di livello superiore perché espone
fila di interfacce verso il sistema e poi via
in fondo alla pila abbiamo questo
implementazione periferica che in realtà
lascia che l’ Erlang vm parli davvero
periferiche quindi diamo una sorta di
esempio abbiamo un sensore di temperatura
che ha una bella luce nitida pi squadrata C
interfaccia l’ API del sensore non cambia
tra diverse piattaforme
funzioni o le chiamate che potresti
potrebbe essere la temperatura e il
messaggio che stai per inviare a
ci sarà l’autista di autobus di cortesia per il ghiaccio
lo stesso pure perché io non loro
hanno definito dai produttori di
questa parte ma sotto quel livello tu
sono liberi di eseguirlo su un sistema Linux
o sistema PSD o un’immagine di sistema no
le strutture di Sisifo dicono che è un Mitch
piattaforma che utilizza un budu mappato in memoria
abbastanza divertente per segnare il motivo di
memoria e quindi molti bit di piastre
direttamente Linux embedded per ogni per
esistenza um può potenzialmente molto
molto pericoloso, quindi va bene questo è stato molto
semplice esempio questo è giusto
basta rispondere a sei gambe e non lo fa
molto e si potrebbe sostenere che questo è
complicare troppo la faccenda e tu
può avere solo un semplice modulo da prendere
cura di questa comunicazione va bene
bene se tu se guardi un moderno
sistema di architettura comune su chip
architettura possiamo vedere che abbiamo un
molte cose da affrontare in modo da fornire
le astrazioni comuni dicono ad esempio noi
avere più occhi ho quadrato C
interfacce se può creare un
astrazione per questi e quindi creare
moduli componenti più semplici di livello superiore
in cima a questi penso che avremo un
mondo migliore davvero perché lo fanno
vedere blocchi giganteschi e poi averli
interfacciarsi tra loro è abbastanza
difficile e ora possiamo permetterci di perdere
alcuni cicli di CPU nel nome di
astrarre cose e fare cose
più facile per noi è il Raspberry Pi
correndo 700 megahertz ma ora tu
può overclockarlo se la fondazione ha
data la sua benedizione in modo da poter overclockare
il tuo Raspberry probabilmente senza perdere
la vostra garanzia e penso che possa funzionare
alle commissioni di un concerto quando non darò
il sistema testa non può permettersi di
sottolinea o qualsiasi altro vm per esempio
e avere questi livelli più alti
funzionalità in termini di reti o
threading e sottigliezze generali del
mondo moderno perché di nuovo facendo questi
comunicazione o threading ecc
le affermazioni in C non sono divertenti da quando siamo
Parlando di cose positive, io
ho pensato che ti avrei mostrato alcuni dei
cose su cui abbiamo lavorato su um
il primo si chiama fontaine e
è ho voglia di vedere voglio dire non lo faccio
sapere come è disposto a vederlo, ma è così
essenzialmente una semplice scheda che funge da
un ponte tra il Raspberry Pi e
l’arte
piattaforma la ragione per cui penso che sia
loro sono abbastanza letteralmente piuttosto pochi
centinaia di questi arduino scudi che
fornirti funzionalità extra e
in ordine invece del solo design
ridisegnandoli li possiamo usare con
il Raspberry Pi se creano un po ‘
traduttore tra il formato Arduino o
stanno facendo una specifica nel
Raspberry Pi il primo di questi in
sfortunatamente non sono direttamente
compatibile tra loro il primo significato
che lavorano a voltaggi diversi
livelli um così ho un certo livello
traduttori sui pin e sul
Raspberry Pi non ha una prospettiva come
convertitore digitale con alcuni dei
uso dello scudo quindi avevo anche un ml
convertitore analogico-digitale a quadrante C
questo giorno questa è stata la prima divisione e
se in realtà tornasse da Matt
punto sulla prototipazione che non ho stampato
questo fuori su un pezzo di carta e poi
dare per scontato che avrebbe funzionato in
sensibile solare per cadere insieme e
rendersi conto che il connettore assiale
il posizionamento rende impossibile utilizzarlo
perché non possiamo usare così com’è
perché come puoi vedere non c’è
abbastanza spazio tra l’intestazione sopra
qui e lo scudo quindi questo significava che io
Devo progettare nuovi versi è per questo che tu
vedere due diversi qui che ho esteso
la dimensione della tavola che ci ha dato così
molto spazio in quanto ho più funzionalità
l’hardware è divertente quindi sì questo sono io
sto solo cercando di capire cosa sta succedendo
e puoi effettivamente vedere un Arduino
sotto lo scudo così invece di giusto
collegando il tuo scudo a questo laboratorio
bordo e usarlo si può anche fare il
altro modo e collegamento nel nostro sappiamo
il Raspberry Pi direttamente in modo da poter utilizzare
per entrambi gli scopi è disponibile
questo io sono io sono solo io sono circa l’80% di finitura
con la prototipia come puoi vedere
questo è il giovane
l’ho venduto davvero
rilasciato come un progetto open source questo
è il nostro modo di contribuire al
la società che ci fa sentire tutti sfocati
e caldo quindi sì, voglio dire che puoi trovare
più informazioni su questo in realtà tu
sarà in grado di trovare maggiori informazioni
su questo a Pearl sono a letto, si spera
presto ben presto famose ultime parole um così
un’altra cosa su cui abbiamo lavorato è
piccolo simulatore hardware che sto per
fai una demo dal vivo qui e sarà tutto
sbagliato ma diamoci da fare così noi
stanno sviluppando questa piccola scheda demo per
usa nei nostri piccoli esperimenti che ha
un sacco di LED alcuni interruttori e spingere
pulsanti alcuni componenti analogici e I
volevo un modo per simularlo senza
in realtà avendo il vero hardware
mano hai i due mesi di consegna
volta sì, a causa dell’albero di nuovo sì
Ho appena finito questo sul
aereo viaggio qui, quindi non è completamente
funzionale ancora ma l’idea è molto
Semplicemente riproduciamo bene l’aspetto esatto
non esattamente forse ma che noi
replicare la stessa funzionalità di a
scheda hardware in un browser e quindi utilizzare
prese per comunicare con Frank
e scritto in Erlang e poi a destra
moduli hardware simulati per fondamentalmente
interagire con questi dispositivi, intendo
al momento non fa molto ma se io
ristabilire una connessione se premo a
pulsante vedrai che uno di questi
I LED scriveranno ciò che succede qui
se premo il pulsante e poi il mio
il rovescio riceve un messaggio che dice
bene il back-end o la gpio simulata
modulo in basso che ne ha ricevuto uno
e poi lo scrive di nuovo al
browser che utilizza le prese e le svolte Web
portato avanti e per il nostro materiale di lavoro che possiamo
in realtà cambia il valore di
um bene componenti e poi vedremo
che riceviamo i cambiamenti di poco
messaggi nel back-end questo è molto
molto lavoro in corso ma da questo
è una traccia maker dopo che dimostrano
questo ancora questo sarà disponibile sul nostro
sito web e ulteriori informazioni saranno spenti
presto ci stiamo lavorando anche su
uno stack di allenamento per creare il nuovo
generazione di dispositivi incorporati che abbiamo
discusso il tipo di requisiti di
tutti gli infermieri distribuiti sono collegati e
natura complessa di questi sistemi e noi
pensato che sarebbe una buona idea se lì
è un pacchetto completo tutto da
Mi dispiace Linux Linux 101 sicuro
linea principi e in realtà parlando con
hardware all’interno della nostra linea tra cui il
piattaforma hardware che è possibile utilizzare
prototipa le tue idee forse più tardi
in produzione utilizzando una seconda piattaforma
quindi se sei interessato vieni e parla
me per favore e cosa non vedo l’ora
avendo alcune birre danesi quindi trovami e
Mi dirò di più su questo e lo farò
un po ‘di più sono sicuro che sono anche con
loro con le mani in mano quanti di voi
interessato a prendere una classe che faccia
io ci penso su Skype ti spedirò
il consiglio prima di um penso che ci sia un
vita distinta di tipo completo di
pacchetti che ti permettono di andare dal
il software è entrato nell’hardware tutto
direttamente ed è per questo che abbiamo
progetti interessanti dicono cosa non lo è
lì aspettando legami pitonici o
l’hardware è abbastanza carino e lo siamo
avvicinandoci da un altro
prospettiva seguendo un altro chiamato
modello di concorrenza ma nel complesso se si
includere l’hardware senza illusione linux
driver di dispositivo ecc. pensiamo che questo sia questo
sarà un corso divertente diciamocelo
così non nota, vorrei ringraziare
tu
ascoltiamo e compriamo più informazioni
a queste cose e vieni a parlare con me io
grazie Bridge cosa um um sono
interessato anche a ciò in termini di
agganciarlo per farti sapere cosa
tutti lo stanno facendo per quello che farò
avere un amico che è davvero in 3d
stampanti bene ho inviato uno oh non girare
indietro da loro, ma il problema con
nessuna preparazione è in tempo reale significa che tu
avere con il controllo delle periferiche e così via
quindi voglio dire che sì, ho visto che è così
gestito dal reprap già così a
certo suono grazie per sedere lì
ok ascolta solo qualcosa di meglio
di arduino stavo pensando in termini di
sostituzione del velivolo del controller assiale
con un lampone ma se ne hai uno
controller allora può usarlo per te
puoi avere una rampa per esempio, sì, noi
può quindi mettere questo o metterlo sopra
questo e poi collegalo alla tua parte
va tutto bene, sarà un problema
perché II mappa le periferiche dicono i
quadrato C per isolare lo spy ESPN a
direttore l’unico problema è il lampone
ma quello non ne ha abbastanza
possibilità di modulazione quindi ne avrei solo una
asciugamano pwm non penso rampe o nessuno dei
i tre tacchi forse usano pw credo
usano meno matti per comunicare con
loro così è meraviglioso ce ne sono alcuni
limitazioni hardware perché il
le specifiche non sono abbinate a
uno ma soprattutto per le cose digitali
tu
ingegnere Sono davvero un gran lavoratore e
il discorso è piuttosto focalizzato sul
sistemi embedded di me e in particolare
con esempi dal Raspberry Pi che
abbiamo giocato con questo perché lo è
molto bello e oggi sto solo andando
darti una breve idea di cosa siamo
trattare con sistemi embedded oggi e
stiamo solo andando a vedere come
il modello di attore funziona per cui è stato girato
un bel po ‘di tempo ora, quindi sono sicuro che devi
l’ho incontrato ad un certo punto, quindi lo sono
Non intenzione di andare troppo nel dettaglio
lì è in realtà un modello piuttosto semplice
quindi non dovrebbe avere problemi lì e
stiamo coinvolgendo il progetto al
momento chiamato Erlang incorporato lo farò
parlane un po ‘e dimmi un po’
sui nostri obiettivi e noi stiamo cercando di
realizzalo e poi vedremo alcuni
esempi pratici su come possiamo applicare
il modello dell’attore e la linea utente da modellare
il nostro sistema programma più i nostri sistemi
e vedremo una semplice demo che ho
fatto con il Raspberry Pi e infine
bene ti mostrerò un po ‘di quello che sono
al momento sto lavorando se hai tempo
posso avere alcune domande e risposte
essere qui per il resto della conferenza
quindi sentiti libero di parlare con me se vuoi
per parlare di più su questo va bene così che cos’è
un sistema embedded questo è stato coperto
nei precedenti due colloqui, quindi non lo sono
andando a tuo turno in questo il
tradizionalmente è un sistema che ha un
scopo specifico che può essere parte di a
sistema più grande a volte ha tempo reale
vincoli e così via, ma generalmente lo è
un piccolo dispositivo fisicamente è più
un po ‘ spesso anche questo è inteso
fare solo una cosa e farlo molto bene
um attualmente la lingua di scelta per
lingua franca del mondo embedded a
vedere che è stato visto anche in passato
ed è piuttosto strano vederlo
anche in aumento ma non c’è
negando di sapere che puoi vedere è
qui per restare
andando a liberarsi di vedere così ma il
il problema è che ci sono certe cose
non puoi fare molto bene in C e questi
le cose sembrano essere i problemi che siamo
occupandoci dei sistemi di oggi, così siamo
affrontare un sistema sempre più complesso
su piattaforme di chip su dispositivi che erano
lavorando o sviluppando e gestendo
la complessità di questi sistemi solo
a causa della loro vastità sta diventando
un problema potrei avere questo bellissimo
frase chiamata Internet of Things
il che significa che i nostri dispositivi sono
connessi e distribuiti e loro hanno
ha bisogno di supporto in rete di
supporto di comunicazione e a meno che
tu usi un socket quadro
programmare in C non è divertente e di nuovo
trattare con multi-core e
dispositivi eterogenei in C non è divertente come
beh, e questo è come decidere di mettere
è lì il momento di commercializzarlo sempre e
problema sempre crescente naturalmente
devono essere in grado di prototipare rapidamente
le tue idee e con gli strumenti che noi
oggi come gli stampatori 3d stanno diventando così
è economico è abbastanza possibile a manovella
fuori prototipi in poche settimane
invece di mesi um così sistemi incorporati
significa un sacco di cose così e così
si traduce in diverse metodologie
essere coinvolti nella progettazione e lasciarlo
non è così personale un bare metal
l’approccio sarebbe seguito direttamente
registra la manipolazione impostando il tuo
periferiche ecc. perché alcune sono dirette
registrati e se le relazioni non hai
un sistema operativo di alto livello n
programmatore in quanto è possibile utilizzare la console in questo modo
è davvero per dispositivi di piccole dimensioni a 8 e 16 bit
dispositivi di classe e puoi anche impiegare un
questo è il sistema operativo in tempo reale
abbastanza comune in particolare per i militari
e applicazioni spaziali dove è necessario
garantisce garanzie temporali
fai il datore di lavoro su TLS e anche noi
ho incorporato Linux che è precisamente
solo imitare magro e difficile
interfacce che ti permettono di comunicare
con il mondo esterno sotto forma di
moduli del kernel hanno parlato con il
periferiche sul sistema su chip
dispositivi così oggi mi concentrerò su
queste due categorie non siamo davvero
interessato a guardare il metallo nudo e
le piattaforme che hai a disposizione oggi
rende molto facile per noi solo ottenere
uno fuori dagli scaffali invece di esplorare
questi due concetti um così hai mai fatto
usato un’arteria prima che dappertutto abbia
prima hai lavorato su una piattaforma embedded
quindi probabilmente avrai familiarità con
questi concetti allora così per essere
hai una nozione di compito e poi tu
divide il tuo programma o applicazione in
piccoli pezzi e poi hai un
programmatore del sistema operativo che può
avere un pettirosso preventivo o circolare
programmazione che si occupa della programmazione
cose in un’ora nel reale
esecuzione e comunicazione avviene tramite
memoria condivisa e sistema operativo
fornirti le funzionalità da fare
questo e perché è l’hardware comunque
assicurati di fornire un certo controllo
accesso alle periferiche o all’hardware
accesso in generale hai nozione di nuovo
Texas semafori e guarda ora se tu
guarda i medici è diverso
la storia non è un nuovo concetto è stato
in giro per un po ‘ma ora
abbiamo $ 35 £ 30 fermati
battendo la spia del sé è
diventando sempre più popolare questo è
buono per il mondo del software ma in realtà
trovano ragazzi di hardware incorporano di disegni
loro stessi in perdita perché il
concetti che sono abituati a dire
i compiti non esistono in modo nativo all’interno del
sistema operativo cosa intendo con quello
ovviamente puoi usare una libreria finale
in C ecc, ma non dovevano farlo
direttamente sul rtos potevano solo
avvolgerlo e molto minimale
sorta di wrapper in modo che non possano davvero ottenere
lì e avvolgere le loro teste intorno a questo
e questo pone un problema e tratta il
discussioni e vedere di nuovo non è divertente, um
e anche i framework dei driver di periferica
la documentazione è piuttosto terribile
e molto spesso ti ritrovi
grattandoti la testa che non è mia così
diamo un’occhiata al modello di azione questo è
non deprimente questo è divertente questo è di nuovo
un concetto molto vecchio e l’idea è molto
semplice hai questi molto primitivi
elementi costitutivi che ti consentono di comporre
sistemi distribuiti e la portata di esso
è che sono autonomi così
essi non avrebbero condividono la memoria che significa che questo
leggendoli attraverso diversi nodi o
diverse reti sono diverse
le piattaforme sono molto facili da fare e no
deve usare presto è stato implementato
in una varietà di linguaggi di programmazione
e sì intendo una caratteristica interessante
lavoro dovrei dire il più interessante
caratteristica è l’aspetto della comunicazione
sebbene usi un messaggio sincrono
passando e ha una nozione di una casella di posta
in modo da poter inviare il messaggio da uno
processo all’altro e sarà messo
nella sua casella di posta per essere elaborato quando
arriva il momento e quando è il momento
non ci sono più messaggi di fronte
quel particolare messaggio di senso e
dopo aver ricevuto un messaggio ce ne sono tre
le operazioni che puoi fare è una di quelle
genera un nuovo attore o puoi cambiare il tuo
stato interno a seconda del messaggio
è ricevuto o puoi scegliere di passare
il messaggio al prossimo attore nel
line um è un grafico
rappresentazione di questo diciamo di avere
questo attore di acquisizione dati che ha
acquisito alcuni numeri da un gruppo di
sensori che ha collegato diciamo
dobbiamo fare alcune operazioni su questi
quello che possiamo fare è che possiamo generare un nuovo
attore e numero cruncher e quindi inviare
i valori che noi
acquisito dall’acquisitore a
il contraente questo attore può quindi
elaborare questi e quindi inviarlo per
può generare nuovi attori o lavoratori um
inviare sottoinsiemi di queste letture a loro
farli calcolare e ricevere il
i risultati potrebbero non accadere in
sequenza questo può accadere attualmente
perché questi sono tutti processi diversi
processi in esecuzione una volta collazionati tutti
le informazioni indietro o i risultati indietro
può quindi inviarlo all’acquisizione
unità che ora sta aspettando una risposta um
quindi è un modello molto semplice che puoi
vedi che non c’è molto da fare se non lo fai
scendere al prove o ma ha un po ‘
limitazioni così fa il modello generale
non avere ereditarietà emotiva e il
la gerarchia generale non è definita in
termini concreti quindi ogni lingua o
l’implementazione della libreria è certa
variazioni su questa idea di architettura
sistema complesso anche un sincrono
il passaggio di messaggi può essere problematico per
alcune applicazioni anche se per il
le applicazioni di cui parlo oggi sono parlate
non pone un problema sicuramente lo farai
non affrontare questo problema con questo ultimo punto
sorta di prova il punto iniziale che ho fatto
perché sono astratti
finendo di renderti speciale
lavorare in squadra o in molte persone
lavorando su un progetto diventa un
problema perché quanto in basso si va in termini di
la granularità può essere una benedizione e a
maledico Parlerò più su questo nel
pochi in realtà in pochi um sito web
ora tutto quello che ho detto che sono stato
coinvolto in questo progetto chiamato Erlang
incorporato è una partnership tra
Soluzioni di Erlang e Università di
Kent e stiamo cercando il modo in cui possiamo
impiegare la sua linea come strumento da gestire
queste complessità e usarlo come un
Orchestratore o umidità del sistema
come se fosse per portarli
per risolvere queste sfide che abbiamo
L’ho visto nella prima vita, se vuoi
più informazioni perché stanno mentendo
a letto tranquilli abbiamo alcuni video di
luci lampeggianti e ci siamo divertiti un po ‘
esplorazioni come un cucchiaio di 136.000
processi sul Raspberry Pi e io sono
comunicando con loro questi sono i nostri
i processi di linea stavano operando
sistema fresco dragoncello che cosa felice così tanto
perché sono come mai siamo coinvolti in questo
progetto perché ti conoscevi
non posso accettare di collaborare con online
soluzioni e cosa è una persona um Erlang
ovviamente in questa sera c’è l’eczema
l’argomento che parlare del XML e
è stato testato in battaglia su ericsson
da cui siamo oryza nated e molti
altre compagnie e quindi una linea non lo è
una nuova lingua per cui è stata girata
un bel po ‘di tempo ed è stato usato in
produzione abbastanza un po ‘di tempo
è stato originariamente progettato per embedded
applicazioni quindi la telefonia
applicazioni o commutatori telefonici
sviluppato ericsson che era il principale
la piattaforma su cui è stato progettato il linguaggio
o raffinato su di esso era incorporato
voglio dire che non è stato pubblicato
un processore ARM incorporato ma è il
il concetto era buono per definizione e
sistema incorporato in modo che abbia il supporto per
Concurrency e Pneus distribuiti fuori da
la scatola e ha qualcosa di molto interessante
supervisione e gestione degli errori
gerarchie di cui parlerò
in un minuto e ovviamente ce ne sono alcuni
altri pezzi lucenti, quindi abbiamo a
errore molto semplice e coerente
recupero e gerarchia del turismo di mini
supponendo che io vari con um otterrò
al limite ha una colpa integrata
la tolleranza è in parte dovuta al fatto
quegli attori sono isolati e parte di
il tuo sistema non funzionerà correttamente
giù per l’intero
a meno che non ci sia qualcosa
catastroficamente sbagliato con il tuo sistema
così puoi creare strutturato
architetture che la nostra coda è sicura e se
non riescono possono essere riavviati o presi
cura di un altro mezzo a seconda del
gerarchia di supervisione l’hai scelta
ha anche una caratteristica interessante in cui
supporta il caricamento di hot code in modo che tu possa
aggiorna la funzionalità del tuo sistema
senza doverlo abbassare cosa
ciò significa che puoi risolvere un bug
il tuo sistema e lo distribuisci al tuo VM e
una volta che l’attore sta girando così vecchio
il codice l’ha terminato così la prossima volta
è generato genererà il nuovo
versione del codice ma il cambiamento è
senza soluzione di continuità quindi è per questo che si chiama
caricamento a caldo freddo e supporto dinamico
è la riconfigurazione e la rovina di un attore
abbastanza semplice nella nostra vita è solo un
chiama questa funzione del telefono e io sono
intenzione di usare il termine attore e una linea
processo in modo intercambiabile perché parallelo
processi o agito Wow e una volta voi
cucchiaio un processo quindi hai un nuovo PID
idea di processo per comunicare con e
inviare messaggi e comunicazioni
succede mentre presso l’operatore bancario e
usando questo costrutto possono inviare
messaggi dal primo processo al
la seconda ora passa il messaggio
sono sincronicamente e non c’è
stretta di mano a meno che tu non sia esplicitamente
implementato te stesso quindi cosa tu cosa
fai generalmente se vuoi una risposta
indietro si passa il proprio ID di processo a
il secondo processo della tua messaggistica così
che quando ha una risposta per te
sa dove spedirlo così usando te stesso
ottiene il proprio ID di processo e poi
invialo come il primo elemento del tuo
topic um quando arriviamo all’errore error
fabbricazione
o meccanismi di recupero degli errori che abbiamo
questa nozione di aerei in modo da poter collegare
più processi insieme e quando tu
collega le cose insieme se uno di loro va
giù gli altri lo sanno ora
può fare a due cose principali con questo noi
puoi semplicemente scegliere di ignorare questo e avere
il tuo intero sistema fallisce o puoi
implementare supervisori di cui occuparsi
questo e poi riavviarli o fare un po ‘
altri bit extra e riavviarli e
unificazione um la filosofia generale in
scrivere i tuoi processi di linea o online
moduli o attori è lasciarlo fallire e
quindi impiegare la gerarchia di supervisione a
prendersi cura degli errori che questo porta a a
moduli più puliti o lineari perché
non dovete preoccuparvi di
implementando tutto il controllo degli errori ecc
all’interno del modulo e aumenta anche
riutilizzo della polpa potenzialmente perché specifico
condizioni che devi affrontare
condizioni di errore specifiche che hai
trattare e può essere poi implementato
come parte di un supervisore dovrebbe
essere parte dell’attore assiale o il
processore al tuo programma um così che io
significa collegando in uscita i segnali è
chiaramente dimostrato da questa neve che sono
diagramma qui diciamo che ne abbiamo tre
processi e sono tutti collegati
insieme se uno di loro ha un difetto se
fallisce poi l’altro riceverà
un messaggio negativo e se hai un
motivo per cui sarà trasmesso anche e
una volta ricevuto un messaggio lo farà
terminare anche lasciando i collegamenti
processo so che alcuni
è andato storto e questo esiste
si propagherà attraverso tutto il link
processi a meno che non lo dica esplicitamente
per intrappolare le uscite che intrappolano le uscite significa che
se riceve un messaggio di errore se non lo farà
propagarsi e cercherà di
affrontare questo senza dover uccidere
o inviare messaggi agli altri processi
essere re quindi diciamo che abbiamo di nuovo
tre processi principali e ora Pippi o
il nostro secondo processo di trapping esce um
quindi abbiamo un caveau in prima persona
ricevere un messaggio di uscita normalmente se
questo non stava intrappolando se non lo fosse
le uscite di cattura allora avremmo un
problema nelle nostre mani ma ora scegliamo
ignorare la propagazione del messaggio di errore
attraverso e poi possiamo forse riavviare a
ancora o ancora prendere precauzioni per portare
fino al sistema su uno stato in un minuto
sistemi è fondamentale che tu sappia il
stato del tuo sistema in ogni momento
perché diciamo che stai sviluppando a
robot che ha alcuni molto nitidi
volare come anime ecc. non puoi
permettersi di avere il proprio sistema in linea
affermare che può essere abbastanza letale, così
fare con gli errori e avere questi
le gerarchie di supervisione sono abbastanza utili
creare un sistema logico e sicuro um
mai caratteristica di Erlang è questo sta andando
torna alla nostra piccola C theta per
l’interfaccia con l’hardware lo farai in alcuni
il punto deve scrivere un po ‘di mare e
la terza linea fornisce servizi
per collegare a questi programmi vedi e
vedrà i driver che a te giusto e
usali come parte del tuo sistema generale
quindi diciamo che hai un I quadrato
dispositivo e tu no
un’altra linea vincolante per questo ma tu hai
un posto vincolante per esso basta avvolgerlo
intorno a dirlo e poi sì
rappresentante delle funzioni del C
I tassi di trasmissione si pongono con un’altra linea
puoi chiamare nel software così con tutti
le cose considerate sono altre linee che penso sia
un ottimo strumento per orchestrare al
operazione globale del tuo sistema
quasi mi ricorda il design della scatola nera
metodologie e dire VHDL sono molto
ben accetti difficilmente la descrizione sta facendo
grandi moduli e quindi crea il massimo livello
descrizione del tuo sistema e link
le cose insieme usando diversi prendono il
posa ecc. ovviamente non è la stessa cosa
concetto um ma la gerarchia generale e
il tuo modo di modellare in architettura
sistemi penso che ce ne siano alcuni
equipaggiamento percorso poteri interessanti in
questi due grandi edifici, ok, andiamo
parliamo di raspberry pi che abbiamo visto
questo nella prima presentazione oggi così
è passato così tanto tempo non ci credo
è una piattaforma estremamente eccitante
la gente dice che è solo una moda passeggera è tutto
strano che tutti usino questi giorni io
non ci credo, penso che se le persone
tenere i LED lampeggianti con esso diventano grandi
un sacco di simpatici giochi di piping se non è possibile
effettivamente cambiare l’intero problema ICT
abbiamo e potresti finalmente averne un po ‘
progetti interessanti che escono da
università e quindi ovviamente
il fondotinta pi greco è un ente di beneficenza e
la loro missione è quella di promuovere
informatica e concorrenza di pietre
e il parallelismo sono problemi che abbiamo
trattare con oggi e sta andando solo
per peggiorare perché abbiamo questi
dispositivi multicolori e ciò che realmente
vuole programmare questi dritto fuori
università perché bene comunque um così
questi sono i bambini che useranno il mio
oggi ipod saranno i nostri futuri ingegneri
futuri hacker e futuri programmatori
um se possiamo in qualche modo creare materiale
questo è interessante per loro che insegna
loro le basi della concorrenza e
parallelismo penso che andrà
molto bene e loro all’università no
imparare questi concetti nel
secondo anno del loro corso, così abbiamo
molte periferiche sulla torta generale
Scopo, ti devo i nostri CIO thailandesi
spi postato modulazione TSRI CSI ed è quindi
una cosa è piuttosto una bella piattaforma
che puoi permetterti di uccidere ciò che intendo
da questo è che non ti dispiacerà se
in qualche modo lo stai hackerando e lo sai
hai messo in corto che non è la fine del
mondo è solo trentacinque dollari a
la fine di così spero al mese di
tempi di consegna sta diventando un sacco di
meglio x ci sarà un punto in cui noi
sarà in grado di ordinarlo e lo farà
intorno dicono che è un buon punto um
così ho pensato se fornissimo le persone
abbastanza progetti divertenti e questo è quello che
le persone si affrettano a capire perché stanno facendo
è abbastanza eccitante vedremo un sacco di
progetti divertenti come piccoli robot ora
questo non posso competere con il
la demo precedente ovviamente era troppo
molto divertente oh ma puoi mettere insieme a
piccoli buggy rubati in alcuni sensi ecc
perché sai che è un bel po ‘
di soldi e non lo vedo
difficile se usi un po ‘di più e
interfacce biblioteche e così via così
è molto più eccitante di alcuni
applicazioni console che si arriva a
come parte della tua educazione in
i primi anni quindi non ce l’ho con
me perché viaggiare con i robot è
in realtà abbastanza difficile, ma ecco a
semplice dimostrazione del perché stiamo andando in giro
nel nostro ufficio svedese ce ne sono alcuni
sensi e feedback informazioni a
questo processo del cervello e poi ne usiamo alcuni
altri attori o processi per controllare il
GPIO pin per dire dove andare così noi
avere di più
un driver e un chip che ne bastano pochi
input e poi si limita a farlo
è una demo precoce non fa molto ma il
l’idea semplice è che tu stai solo dando
Raspberry Pi e un autista nel
batteria e hai sbagliato è abbastanza
divertente, va bene, parliamo di come
effettivamente impiegare questi concetti sul
Ti dico che controlliamo il
direzione del motore ecc. usando semplici DPI
organi e non ho intenzione di entrare
il dettaglio di Xavier vede parlare con loro
ma è fondamentalmente giusto nei file
il modulo gpio del kernel espone alcuni file
Sisifo rappresentazioni di file che
puoi semplicemente parlare con per impostare il
direzione del perno e poi puoi
basta scrivere valore seme e quindi um
che va bene così possiamo avere un processo
parlando con un altro processo che parla
direttamente al pin impostandone il valore
ma cosa succede se ne abbiamo più
elabora i valori di invio allo stesso
ora perché stai impiegando il
modello dell’attore quello che succede è che tu hai te
finire con un sacco di messaggi in pin
Cassetta delle lettere di diciassette anni ma la sequenza di
i messaggi che potresti ricevere potrebbero effettivamente
uccidi il tuo assistente, quindi se ci provi
cambiare la direzione di un motore
fisicamente si può danneggiare gli dà
alcune cose tecniche e induttive
carichi e canzoni così direttamente controllanti
i processi cambiano lo stato di un pin
non è una buona decisione di progettazione perché
potresti finire con te che conosci abbastanza a
bollitore risultati catastrofici così da
impiegato questo è dove decidere il
la granularità entra in gioco quindi se tu
decidere di astrarre questo livello in alto o
giù a seconda di come lo guardi tu
può impiegare questo processo proxy che richiede
tutti questi messaggi per i valori di stato per
entra e poi li invia al
cose rilevanti direttamente ora che puoi
sostengo che questo è solo un modo di bloccare
cose in basso e questo di nuovo è solo un
bloccare il senso tradizionale delle cose
ma puoi fare molto di più che
avendo una specie di meccanismo di blocco o a
meccanismo mutua esclusione è quindi possibile
implementa cose interessanti come te
digitare il modo di commutazione per il pin e se
è troppo alto, lo rallento e basta
generare un messaggio di errore o fare attenzione
ne è interessante il fatto
devi tener conto di quando
hai a che fare con il mondo reale dentro
software se si generano anche processi
rapidamente le possibilità sulla cosa peggiore
ciò può accadere piuttosto è la tua confusione
cercherò e dovrai liberare il
RAM o semplicemente riavviare la macchina o
qualcosa ma se ti stai interfacciato
un vero pezzo di hardware il vero pezzo
di un gadget puoi causare un bel po ‘di
danno come ho detto prima e uccido
il tuo sistema quindi la sicurezza è abbastanza importante
in generale metodologie di progettazione embedded
quindi implementando questi diversi
i criteri che puoi eliminare dallo stress creano
garantisce quasi per assicurarsi che il tuo
il sistema non ucciderà qualcosa che è
sempre bene ciò che ama uccidere qualcuno
bene di nuovo l’astrazione o il
la granularità può essere scelta e una benedizione
allo stesso tempo così grana fine
l’astrazione fornisce moduli lineari
che può essere testato e potenzialmente
riutilizzato più facilmente ma il meglio sta arrivando
con la nozione o decidere come
basso che vuoi andare è un problema
in particolare stai lavorando con diversi
squadra una sorta di modello che siamo
parlare con al momento è questa idea
di componenti e
moduli così e questi sono una piattaforma alcuni
di parti di esso sono piattaforma agnostica così
abbiamo l’API del componente nella parte superiore di
tutto questo è il vero bit di
codice che interagisci con il tuo
programma e poi abbiamo una periferica
API al livello inferiore che tu
generalmente non trattano come parte di a
programma di livello superiore perché espone
fila di interfacce verso il sistema e poi via
in fondo alla pila abbiamo questo
implementazione periferica che in realtà
lascia che l’ Erlang vm parli davvero
periferiche quindi diamo una sorta di
esempio abbiamo un sensore di temperatura
che ha una bella luce nitida pi squadrata C
interfaccia l’ API del sensore non cambia
tra diverse piattaforme
funzioni o le chiamate che potresti
potrebbe essere la temperatura e il
messaggio che stai per inviare a
ci sarà l’autista di autobus di cortesia per il ghiaccio
lo stesso pure perché io non loro
hanno definito dai produttori di
questa parte ma sotto quel livello tu
sono liberi di eseguirlo su un sistema Linux
o sistema PSD o un’immagine di sistema no
le strutture di Sisifo dicono che è un Mitch
piattaforma che utilizza un budu mappato in memoria
abbastanza divertente per segnare il motivo di
memoria e quindi molti bit di piastre
direttamente Linux embedded per ogni per
esistenza um può potenzialmente molto
molto pericoloso, quindi va bene questo è stato molto
semplice esempio questo è giusto
basta rispondere a sei gambe e non lo fa
molto e si potrebbe sostenere che questo è
complicare troppo la faccenda e tu
può avere solo un semplice modulo da prendere
cura di questa comunicazione va bene
bene se tu se guardi un moderno
sistema di architettura comune su chip
architettura possiamo vedere che abbiamo un
molte cose da affrontare in modo da fornire
le astrazioni comuni dicono ad esempio noi
avere più occhi ho quadrato C
interfacce se può creare un
astrazione per questi e quindi creare
moduli componenti più semplici di livello superiore
in cima a questi penso che avremo un
mondo migliore davvero perché lo fanno
vedere blocchi giganteschi e poi averli
interfacciarsi tra loro è abbastanza
difficile e ora possiamo permetterci di perdere
alcuni cicli di CPU nel nome di
astrarre cose e fare cose
più facile per noi è il Raspberry Pi
correndo 700 megahertz ma ora tu
può overclockarlo se la fondazione ha
data la sua benedizione in modo da poter overclockare
il tuo Raspberry probabilmente senza perdere
la vostra garanzia e penso che possa funzionare
alle commissioni di un concerto quando non darò
il sistema testa non può permettersi di
sottolinea o qualsiasi altro vm per esempio
e avere questi livelli più alti
funzionalità in termini di reti o
threading e sottigliezze generali del
mondo moderno perché di nuovo facendo questi
comunicazione o threading ecc
le affermazioni in C non sono divertenti da quando siamo
Parlando di cose positive, io
ho pensato che ti avrei mostrato alcuni dei
cose su cui abbiamo lavorato su um
il primo si chiama fontaine e
è ho voglia di vedere voglio dire non lo faccio
sapere come è disposto a vederlo, ma è così
essenzialmente una semplice scheda che funge da
un ponte tra il Raspberry Pi e
l’arte
piattaforma la ragione per cui penso che sia
loro sono abbastanza letteralmente piuttosto pochi
centinaia di questi arduino scudi che
fornirti funzionalità extra e
in ordine invece del solo design
ridisegnandoli li possiamo usare con
il Raspberry Pi se creano un po ‘
traduttore tra il formato Arduino o
stanno facendo una specifica nel
Raspberry Pi il primo di questi in
sfortunatamente non sono direttamente
compatibile tra loro il primo significato
che lavorano a voltaggi diversi
livelli um così ho un certo livello
traduttori sui pin e sul
Raspberry Pi non ha una prospettiva come
convertitore digitale con alcuni dei
uso dello scudo quindi avevo anche un ml
convertitore analogico-digitale a quadrante C
questo giorno questa è stata la prima divisione e
se in realtà tornasse da Matt
punto sulla prototipazione che non ho stampato
questo fuori su un pezzo di carta e poi
dare per scontato che avrebbe funzionato in
sensibile solare per cadere insieme e
rendersi conto che il connettore assiale
il posizionamento rende impossibile utilizzarlo
perché non possiamo usare così com’è
perché come puoi vedere non c’è
abbastanza spazio tra l’intestazione sopra
qui e lo scudo quindi questo significava che io
Devo progettare nuovi versi è per questo che tu
vedere due diversi qui che ho esteso
la dimensione della tavola che ci ha dato così
molto spazio in quanto ho più funzionalità
l’hardware è divertente quindi sì questo sono io
sto solo cercando di capire cosa sta succedendo
e puoi effettivamente vedere un Arduino
sotto lo scudo così invece di giusto
collegando il tuo scudo a questo laboratorio
bordo e usarlo si può anche fare il
altro modo e collegamento nel nostro sappiamo
il Raspberry Pi direttamente in modo da poter utilizzare
per entrambi gli scopi è disponibile
questo io sono io sono solo io sono circa l’80% di finitura
con la prototipia come puoi vedere
questo è il giovane
l’ho venduto davvero
rilasciato come un progetto open source questo
è il nostro modo di contribuire al
la società che ci fa sentire tutti sfocati
e caldo quindi sì, voglio dire che puoi trovare
più informazioni su questo in realtà tu
sarà in grado di trovare maggiori informazioni
su questo a Pearl sono a letto, si spera
presto ben presto famose ultime parole um così
un’altra cosa su cui abbiamo lavorato è
piccolo simulatore hardware che sto per
fai una demo dal vivo qui e sarà tutto
sbagliato ma diamoci da fare così noi
stanno sviluppando questa piccola scheda demo per
usa nei nostri piccoli esperimenti che ha
un sacco di LED alcuni interruttori e spingere
pulsanti alcuni componenti analogici e I
volevo un modo per simularlo senza
in realtà avendo il vero hardware
mano hai i due mesi di consegna
volta sì, a causa dell’albero di nuovo sì
Ho appena finito questo sul
aereo viaggio qui, quindi non è completamente
funzionale ancora ma l’idea è molto
Semplicemente riproduciamo bene l’aspetto esatto
non esattamente forse ma che noi
replicare la stessa funzionalità di a
scheda hardware in un browser e quindi utilizzare
prese per comunicare con Frank
e scritto in Erlang e poi a destra
moduli hardware simulati per fondamentalmente
interagire con questi dispositivi, intendo
al momento non fa molto ma se io
ristabilire una connessione se premo a
pulsante vedrai che uno di questi
I LED scriveranno ciò che succede qui
se premo il pulsante e poi il mio
il rovescio riceve un messaggio che dice
bene il back-end o la gpio simulata
modulo in basso che ne ha ricevuto uno
e poi lo scrive di nuovo al
browser che utilizza le prese e le svolte Web
portato avanti e per il nostro materiale di lavoro che possiamo
in realtà cambia il valore di
um bene componenti e poi vedremo
che riceviamo i cambiamenti di poco
messaggi nel back-end questo è molto
molto lavoro in corso ma da questo
è una traccia maker dopo che dimostrano
questo ancora questo sarà disponibile sul nostro
sito web e ulteriori informazioni saranno spenti
presto ci stiamo lavorando anche su
uno stack di allenamento per creare il nuovo
generazione di dispositivi incorporati che abbiamo
discusso il tipo di requisiti di
tutti gli infermieri distribuiti sono collegati e
natura complessa di questi sistemi e noi
pensato che sarebbe una buona idea se lì
è un pacchetto completo tutto da
Mi dispiace Linux Linux 101 sicuro
linea principi e in realtà parlando con
hardware all’interno della nostra linea tra cui il
piattaforma hardware che è possibile utilizzare
prototipa le tue idee forse più tardi
in produzione utilizzando una seconda piattaforma
quindi se sei interessato vieni e parla
me per favore e cosa non vedo l’ora
avendo alcune birre danesi quindi trovami e
Mi dirò di più su questo e lo farò
un po ‘di più sono sicuro che sono anche con
loro con le mani in mano quanti di voi
interessato a prendere una classe che faccia
io ci penso su Skype ti spedirò
il consiglio prima di um penso che ci sia un
vita distinta di tipo completo di
pacchetti che ti permettono di andare dal
il software è entrato nell’hardware tutto
direttamente ed è per questo che abbiamo
progetti interessanti dicono cosa non lo è
lì aspettando legami pitonici o
l’hardware è abbastanza carino e lo siamo
avvicinandoci da un altro
prospettiva seguendo un altro chiamato
modello di concorrenza ma nel complesso se si
includere l’hardware senza illusione linux
driver di dispositivo ecc. pensiamo che questo sia questo
sarà un corso divertente diciamocelo
così non nota, vorrei ringraziare
tu
ascoltiamo e compriamo più informazioni
a queste cose e vieni a parlare con me io
grazie Bridge cosa um um sono
interessato anche a ciò in termini di
agganciarlo per farti sapere cosa
tutti lo stanno facendo per quello che farò
avere un amico che è davvero in 3d
stampanti bene ho inviato uno oh non girare
indietro da loro, ma il problema con
nessuna preparazione è in tempo reale significa che tu
avere con il controllo delle periferiche e così via
quindi voglio dire che sì, ho visto che è così
gestito dal reprap già così a
certo suono grazie per sedere lì
ok ascolta solo qualcosa di meglio
di arduino stavo pensando in termini di
sostituzione del velivolo del controller assiale
con un lampone ma se ne hai uno
controller allora può usarlo per te
puoi avere una rampa per esempio, sì, noi
può quindi mettere questo o metterlo sopra
questo e poi collegalo alla tua parte
va tutto bene, sarà un problema
perché II mappa le periferiche dicono i
quadrato C per isolare lo spy ESPN a
direttore l’unico problema è il lampone
ma quello non ne ha abbastanza
possibilità di modulazione quindi ne avrei solo una
asciugamano pwm non penso rampe o nessuno dei
i tre tacchi forse usano pw credo
usano meno matti per comunicare con
loro così è meraviglioso ce ne sono alcuni
limitazioni hardware perché il
le specifiche non sono abbinate a
uno ma soprattutto per le cose digitali
tu
Please follow and like us: