SlideShare a Scribd company logo
Elixir, Phoenix e un Raspberry
entrano in un campo Wi-Fi
Elixir Day 2016 Paolo Montrasio paolo.montrasio@connettiva.eu
21 maggio – Milano https://connettiva.eu/elixir-phoenix-raspberry-wifi/
Demo!
http://192.168.10.83:4000
Fare uno o due reload
Canale 6 o canale 11 del Wi-Fi?
GET / HTTP/1.1
Client IP address
192.168.1.100
Phoenix → Linux
Qual è il mac address
di 192.168.1.100?
arp →
00:11:22:33:44:55
GET / HTTP/1.1
HTML response
Hello 192.168.1.100
Your mac address is
00:11:22:33:44:55
Phoenix → Linux
A che volume parla
00:11:22:33:44:55?
tshark
Websocket
Volume -40.0 dBm
Componenti
Elenco dei mac address noti
Phoenix per pagina web e websocket
Misurazione decibel trasmissione con quei mac address
Corrispondenza websocket ↔ mac address
Arp.Table.poll() ogni secondo esegue
System.cmd("arp", ["-n"])
→ elenco dei mac address noti
→ aggiorna un KV.Registry “address”
Per KV.Registry vedere
http://elixir-lang.org/getting-started/mix-otp/genserver.html
Il controller di Phoenix per la home page
mette in corrispondenza il mac address
alla websocket.
Websocket ID, 00:11:22:33:44:55
Processo Decibel.start() in receive
Processo MacAddress con una
Port.open({:spawn,
"tshark -i wlan1 …"} …)
Invia messaggi a Decibel.start() con la
media dei dBm misurati ogni
secondo per ogni mac address.
Decibel.start() riceve e manda ad
ogni client il valore del suo dBm
sulla sua websocket.
PID PPID TIME CMD
11216 1 00:00:00 /lib/systemd/systemd --user
11221 11216 00:00:00 (sd-pam)
11225 11208 00:00:01 sshd: pi@pts/0
11228 11225 00:00:00 -bash
14214 11228 00:00:28 /usr/local/lib/erlang/erts-7.2.1/bin/beam.smp --
-root /usr/local/lib/erlang -progname erl -- -home /hom
14256 14214 00:00:06 /home/pi/.nvm/versions/node/v5.7.0/bin/node
node_modules/brunch/bin/brunch watch --stdin
14456 14214 00:00:00 /bin/dash /home/pi/beacon/channel_monitor wlan1
14531 14456 00:00:36 tshark -i wlan1 -T fields -e radiotap.channel.freq
-e frame.time_epoch -e wlan.sa -e radiotap.dbm_antsig
14817 14531 00:00:01 /usr/bin/dumpcap -n -i wlan1 -Z none
Il codice
http://github.com/pmontrasio/decibel
umbrella project
Misc
Wi-Fi modes
Channel hopping
Nel pomeriggio...
Wi-Fi modes
Master access point
Managed Wi-Fi clients (laptops, phones, tablets)
Promiscuous vede ogni pacchetto dell’AP connesso
Monitor vede ogni pacchetto di ogni AP (cifrati)
Ad hoc peer connections (layer 1)
Mesh routing per peer connections (layer 3)
Repeater range extenders
Wi-Fi modes
Master access point
Managed Wi-Fi clients (laptops, phones, tablets)
Promiscuous vede ogni pacchetto dell’AP connesso
Monitor vede ogni pacchetto di ogni AP (cifrati)
Ad hoc peer connections (layer 1)
Mesh routing per peer connections (layer 3)
Repeater range extenders
2.450 GHz
forni a microonde
Workshop nel pomeriggio
Task Branch repo
Lancio automatico dell’applicazione autostart
Supervisor per tshark restart-tshark
La via di Elixir ai setting settings
Come si fa il deploy
Suggerimenti?
Elixir, Phoenix e il Raspberry
vi ringraziano
Elixir Day 2016 Paolo Montrasio paolo.montrasio@connettiva.eu
21 maggio – Milano https://connettiva.eu/elixir-phoenix-raspberry-wifi/
il campo Wi-Fi non è stato eccessivamente molestato

More Related Content

Viewers also liked

addictive disorder (abnormal psychology)
addictive disorder (abnormal psychology)addictive disorder (abnormal psychology)
addictive disorder (abnormal psychology)
Vershul Jain
 
Pst obligation and permission
Pst obligation and permissionPst obligation and permission
Pst obligation and permission
Emil Jiménez
 
On the job
On the jobOn the job
On the job
Emil Jiménez
 
Aula 02 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 02 - Seminário Sobre a Igreja (Segunda Temporada)Aula 02 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 02 - Seminário Sobre a Igreja (Segunda Temporada)
IBC de Jacarepaguá
 
9ª Aula para Formação de Discipuladores
9ª Aula para Formação de Discipuladores9ª Aula para Formação de Discipuladores
9ª Aula para Formação de Discipuladores
IBC de Jacarepaguá
 
Muka depan content
Muka depan contentMuka depan content
Muka depan contentmohd admee
 
Artificial neural networks and its application
Artificial neural networks and its applicationArtificial neural networks and its application
Artificial neural networks and its application
Hưng Đặng
 
Reported speech
Reported speechReported speech
Reported speech
Emil Jiménez
 
Aula 06 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 06 - Seminário Sobre a Igreja (Segunda Temporada)Aula 06 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 06 - Seminário Sobre a Igreja (Segunda Temporada)
IBC de Jacarepaguá
 
Tao cv-tieng-anhby pdfcv
Tao cv-tieng-anhby pdfcvTao cv-tieng-anhby pdfcv
Tao cv-tieng-anhby pdfcv
Hưng Đặng
 
Semeton Jegeg Bagus Bali
Semeton Jegeg Bagus BaliSemeton Jegeg Bagus Bali
Semeton Jegeg Bagus Bali
tenobell
 
Assistive Technology Presentation
Assistive Technology Presentation Assistive Technology Presentation
Assistive Technology Presentation
awood4127
 
La joya service center 2014
La joya service center 2014La joya service center 2014
La joya service center 2014
LuchitoF18
 
Aula 1 - Seminário Sobre a Igreja...
Aula 1 - Seminário Sobre a Igreja...Aula 1 - Seminário Sobre a Igreja...
Aula 1 - Seminário Sobre a Igreja...
IBC de Jacarepaguá
 
презентация 2
презентация 2 презентация 2
презентация 2
HeratOfUral
 
Tai lieutonghop.com --mau-cv-curriculum-vitae-bang-tieng-viet
Tai lieutonghop.com --mau-cv-curriculum-vitae-bang-tieng-vietTai lieutonghop.com --mau-cv-curriculum-vitae-bang-tieng-viet
Tai lieutonghop.com --mau-cv-curriculum-vitae-bang-tieng-viet
Hưng Đặng
 
Aula 08 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 08 - Seminário Sobre a Igreja (Segunda Temporada)Aula 08 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 08 - Seminário Sobre a Igreja (Segunda Temporada)
IBC de Jacarepaguá
 
Luh ade gina andriyani
Luh ade gina andriyaniLuh ade gina andriyani
Luh ade gina andriyani
tenobell
 
7ª Aula para Formação de Discipuladores
7ª Aula para Formação de Discipuladores7ª Aula para Formação de Discipuladores
7ª Aula para Formação de Discipuladores
IBC de Jacarepaguá
 
Aula 3 - Seminário sobre a Igreja
Aula 3 - Seminário sobre a IgrejaAula 3 - Seminário sobre a Igreja
Aula 3 - Seminário sobre a Igreja
IBC de Jacarepaguá
 

Viewers also liked (20)

addictive disorder (abnormal psychology)
addictive disorder (abnormal psychology)addictive disorder (abnormal psychology)
addictive disorder (abnormal psychology)
 
Pst obligation and permission
Pst obligation and permissionPst obligation and permission
Pst obligation and permission
 
On the job
On the jobOn the job
On the job
 
Aula 02 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 02 - Seminário Sobre a Igreja (Segunda Temporada)Aula 02 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 02 - Seminário Sobre a Igreja (Segunda Temporada)
 
9ª Aula para Formação de Discipuladores
9ª Aula para Formação de Discipuladores9ª Aula para Formação de Discipuladores
9ª Aula para Formação de Discipuladores
 
Muka depan content
Muka depan contentMuka depan content
Muka depan content
 
Artificial neural networks and its application
Artificial neural networks and its applicationArtificial neural networks and its application
Artificial neural networks and its application
 
Reported speech
Reported speechReported speech
Reported speech
 
Aula 06 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 06 - Seminário Sobre a Igreja (Segunda Temporada)Aula 06 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 06 - Seminário Sobre a Igreja (Segunda Temporada)
 
Tao cv-tieng-anhby pdfcv
Tao cv-tieng-anhby pdfcvTao cv-tieng-anhby pdfcv
Tao cv-tieng-anhby pdfcv
 
Semeton Jegeg Bagus Bali
Semeton Jegeg Bagus BaliSemeton Jegeg Bagus Bali
Semeton Jegeg Bagus Bali
 
Assistive Technology Presentation
Assistive Technology Presentation Assistive Technology Presentation
Assistive Technology Presentation
 
La joya service center 2014
La joya service center 2014La joya service center 2014
La joya service center 2014
 
Aula 1 - Seminário Sobre a Igreja...
Aula 1 - Seminário Sobre a Igreja...Aula 1 - Seminário Sobre a Igreja...
Aula 1 - Seminário Sobre a Igreja...
 
презентация 2
презентация 2 презентация 2
презентация 2
 
Tai lieutonghop.com --mau-cv-curriculum-vitae-bang-tieng-viet
Tai lieutonghop.com --mau-cv-curriculum-vitae-bang-tieng-vietTai lieutonghop.com --mau-cv-curriculum-vitae-bang-tieng-viet
Tai lieutonghop.com --mau-cv-curriculum-vitae-bang-tieng-viet
 
Aula 08 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 08 - Seminário Sobre a Igreja (Segunda Temporada)Aula 08 - Seminário Sobre a Igreja (Segunda Temporada)
Aula 08 - Seminário Sobre a Igreja (Segunda Temporada)
 
Luh ade gina andriyani
Luh ade gina andriyaniLuh ade gina andriyani
Luh ade gina andriyani
 
7ª Aula para Formação de Discipuladores
7ª Aula para Formação de Discipuladores7ª Aula para Formação de Discipuladores
7ª Aula para Formação de Discipuladores
 
Aula 3 - Seminário sobre a Igreja
Aula 3 - Seminário sobre a IgrejaAula 3 - Seminário sobre a Igreja
Aula 3 - Seminário sobre a Igreja
 

Similar to Elixir, Phoenix e un Raspberry entrano in un campo Wi-Fi

Makers Italy: VR Neuron la risposta italiana alla piattaforma Raspberry pi
Makers Italy: VR Neuron la risposta italiana alla piattaforma Raspberry piMakers Italy: VR Neuron la risposta italiana alla piattaforma Raspberry pi
Makers Italy: VR Neuron la risposta italiana alla piattaforma Raspberry pi
Roberto Navoni
 
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Roberto Navoni
 
TCP IP
TCP IPTCP IP
PfSense Cluster
PfSense ClusterPfSense Cluster
PfSense Cluster
Francesco Taurino
 
Openmoko
OpenmokoOpenmoko
Openmoko
guestec2667
 
Virtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e XenVirtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e Xen
Claudio Cardinali
 
Cross compiler per uso domestico
Cross compiler per uso domesticoCross compiler per uso domestico
Cross compiler per uso domestico
Babel
 
LTSP
LTSPLTSP
[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over...
[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over...[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over...
[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over...
Marcello Marino
 
Multicast IPv6
Multicast IPv6Multicast IPv6
Multicast IPv6
Marco d'Itri
 
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Camelug Fava
 
6 Inoltro Instradamento
6 Inoltro Instradamento6 Inoltro Instradamento
6 Inoltro Instradamentoacapone
 
SOFREL S4W - La telegestione 4.0 per reti idriche connesse
SOFREL S4W - La telegestione 4.0 per reti idriche connesseSOFREL S4W - La telegestione 4.0 per reti idriche connesse
SOFREL S4W - La telegestione 4.0 per reti idriche connesse
LACROIX Sofrel Srl
 
Asterisk
AsteriskAsterisk
Digital Forensic
Digital ForensicDigital Forensic
Digital Forensic
NaLUG
 
Test 03a 08.05.2015
Test 03a   08.05.2015Test 03a   08.05.2015
Test 03a 08.05.2015
Corrado Pecora
 
REALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIO
REALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIOREALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIO
REALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIO
basix86
 
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTTProtocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Stefano Valle
 
Pf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open sourcePf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open source
Giovanni Bechis
 

Similar to Elixir, Phoenix e un Raspberry entrano in un campo Wi-Fi (20)

Makers Italy: VR Neuron la risposta italiana alla piattaforma Raspberry pi
Makers Italy: VR Neuron la risposta italiana alla piattaforma Raspberry piMakers Italy: VR Neuron la risposta italiana alla piattaforma Raspberry pi
Makers Italy: VR Neuron la risposta italiana alla piattaforma Raspberry pi
 
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
 
TCP IP
TCP IPTCP IP
TCP IP
 
PfSense Cluster
PfSense ClusterPfSense Cluster
PfSense Cluster
 
Openmoko
OpenmokoOpenmoko
Openmoko
 
Virtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e XenVirtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e Xen
 
Cross compiler per uso domestico
Cross compiler per uso domesticoCross compiler per uso domestico
Cross compiler per uso domestico
 
LTSP
LTSPLTSP
LTSP
 
[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over...
[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over...[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over...
[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over...
 
Multicast IPv6
Multicast IPv6Multicast IPv6
Multicast IPv6
 
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
 
6 Inoltro Instradamento
6 Inoltro Instradamento6 Inoltro Instradamento
6 Inoltro Instradamento
 
SOFREL S4W - La telegestione 4.0 per reti idriche connesse
SOFREL S4W - La telegestione 4.0 per reti idriche connesseSOFREL S4W - La telegestione 4.0 per reti idriche connesse
SOFREL S4W - La telegestione 4.0 per reti idriche connesse
 
Asterisk
AsteriskAsterisk
Asterisk
 
Digital Forensic
Digital ForensicDigital Forensic
Digital Forensic
 
C soft brochure - ita
C soft brochure - itaC soft brochure - ita
C soft brochure - ita
 
Test 03a 08.05.2015
Test 03a   08.05.2015Test 03a   08.05.2015
Test 03a 08.05.2015
 
REALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIO
REALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIOREALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIO
REALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIO
 
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTTProtocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
 
Pf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open sourcePf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open source
 

More from Paolo Montrasio

Sviluppare agenti conversazionali con Rasa
Sviluppare agenti conversazionali con RasaSviluppare agenti conversazionali con Rasa
Sviluppare agenti conversazionali con Rasa
Paolo Montrasio
 
Il Chatbot come guida di viaggio: Travelchat
Il Chatbot come guida di viaggio: TravelchatIl Chatbot come guida di viaggio: Travelchat
Il Chatbot come guida di viaggio: Travelchat
Paolo Montrasio
 
Costruire chatbot conversazionali ed intelligenti con Xenioo
Costruire chatbot conversazionali ed intelligenti con XeniooCostruire chatbot conversazionali ed intelligenti con Xenioo
Costruire chatbot conversazionali ed intelligenti con Xenioo
Paolo Montrasio
 
Diving deep into NLP
Diving deep into NLPDiving deep into NLP
Diving deep into NLP
Paolo Montrasio
 
Voicebot: i Chatbot crescono e imparano a parlare
Voicebot: i Chatbot crescono e imparano a parlareVoicebot: i Chatbot crescono e imparano a parlare
Voicebot: i Chatbot crescono e imparano a parlare
Paolo Montrasio
 
IBM Watson, un caso reale
IBM Watson, un caso realeIBM Watson, un caso reale
IBM Watson, un caso reale
Paolo Montrasio
 
Gardy, un chatbot multilingua
Gardy, un chatbot multilinguaGardy, un chatbot multilingua
Gardy, un chatbot multilingua
Paolo Montrasio
 
Il più intelligente Chatbot Bancario in Italia!
Il più intelligente Chatbot Bancario in Italia!Il più intelligente Chatbot Bancario in Italia!
Il più intelligente Chatbot Bancario in Italia!
Paolo Montrasio
 
Chatbot, a chi proporli e come ... scegli il giusto target
Chatbot, a chi proporli e come ... scegli il giusto targetChatbot, a chi proporli e come ... scegli il giusto target
Chatbot, a chi proporli e come ... scegli il giusto target
Paolo Montrasio
 
Cicerus - una piattaforma per lo sviluppo di chatbot
Cicerus - una piattaforma per lo sviluppo di chatbotCicerus - una piattaforma per lo sviluppo di chatbot
Cicerus - una piattaforma per lo sviluppo di chatbot
Paolo Montrasio
 
Esplorando Google Assistant e Dialogflow
Esplorando Google Assistant e DialogflowEsplorando Google Assistant e Dialogflow
Esplorando Google Assistant e Dialogflow
Paolo Montrasio
 
Hubot + wit.ai, un chatbot aziendale per Slack
Hubot + wit.ai, un chatbot aziendale per SlackHubot + wit.ai, un chatbot aziendale per Slack
Hubot + wit.ai, un chatbot aziendale per Slack
Paolo Montrasio
 
Making Chatbots
Making ChatbotsMaking Chatbots
Making Chatbots
Paolo Montrasio
 
L'AI per Sales & Marketing B2B
L'AI per Sales & Marketing B2BL'AI per Sales & Marketing B2B
L'AI per Sales & Marketing B2B
Paolo Montrasio
 
Chatbot per i musei
Chatbot per i museiChatbot per i musei
Chatbot per i musei
Paolo Montrasio
 
Innovazione digitale e i chatbot 2017
Innovazione  digitale e i chatbot  2017Innovazione  digitale e i chatbot  2017
Innovazione digitale e i chatbot 2017
Paolo Montrasio
 
Trovare clienti con un chatbot
Trovare clienti con un chatbotTrovare clienti con un chatbot
Trovare clienti con un chatbot
Paolo Montrasio
 
Innovare la relazione con i clienti nel retail
Innovare la relazione con i clienti nel retailInnovare la relazione con i clienti nel retail
Innovare la relazione con i clienti nel retail
Paolo Montrasio
 
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...
Paolo Montrasio
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speed
Paolo Montrasio
 

More from Paolo Montrasio (20)

Sviluppare agenti conversazionali con Rasa
Sviluppare agenti conversazionali con RasaSviluppare agenti conversazionali con Rasa
Sviluppare agenti conversazionali con Rasa
 
Il Chatbot come guida di viaggio: Travelchat
Il Chatbot come guida di viaggio: TravelchatIl Chatbot come guida di viaggio: Travelchat
Il Chatbot come guida di viaggio: Travelchat
 
Costruire chatbot conversazionali ed intelligenti con Xenioo
Costruire chatbot conversazionali ed intelligenti con XeniooCostruire chatbot conversazionali ed intelligenti con Xenioo
Costruire chatbot conversazionali ed intelligenti con Xenioo
 
Diving deep into NLP
Diving deep into NLPDiving deep into NLP
Diving deep into NLP
 
Voicebot: i Chatbot crescono e imparano a parlare
Voicebot: i Chatbot crescono e imparano a parlareVoicebot: i Chatbot crescono e imparano a parlare
Voicebot: i Chatbot crescono e imparano a parlare
 
IBM Watson, un caso reale
IBM Watson, un caso realeIBM Watson, un caso reale
IBM Watson, un caso reale
 
Gardy, un chatbot multilingua
Gardy, un chatbot multilinguaGardy, un chatbot multilingua
Gardy, un chatbot multilingua
 
Il più intelligente Chatbot Bancario in Italia!
Il più intelligente Chatbot Bancario in Italia!Il più intelligente Chatbot Bancario in Italia!
Il più intelligente Chatbot Bancario in Italia!
 
Chatbot, a chi proporli e come ... scegli il giusto target
Chatbot, a chi proporli e come ... scegli il giusto targetChatbot, a chi proporli e come ... scegli il giusto target
Chatbot, a chi proporli e come ... scegli il giusto target
 
Cicerus - una piattaforma per lo sviluppo di chatbot
Cicerus - una piattaforma per lo sviluppo di chatbotCicerus - una piattaforma per lo sviluppo di chatbot
Cicerus - una piattaforma per lo sviluppo di chatbot
 
Esplorando Google Assistant e Dialogflow
Esplorando Google Assistant e DialogflowEsplorando Google Assistant e Dialogflow
Esplorando Google Assistant e Dialogflow
 
Hubot + wit.ai, un chatbot aziendale per Slack
Hubot + wit.ai, un chatbot aziendale per SlackHubot + wit.ai, un chatbot aziendale per Slack
Hubot + wit.ai, un chatbot aziendale per Slack
 
Making Chatbots
Making ChatbotsMaking Chatbots
Making Chatbots
 
L'AI per Sales & Marketing B2B
L'AI per Sales & Marketing B2BL'AI per Sales & Marketing B2B
L'AI per Sales & Marketing B2B
 
Chatbot per i musei
Chatbot per i museiChatbot per i musei
Chatbot per i musei
 
Innovazione digitale e i chatbot 2017
Innovazione  digitale e i chatbot  2017Innovazione  digitale e i chatbot  2017
Innovazione digitale e i chatbot 2017
 
Trovare clienti con un chatbot
Trovare clienti con un chatbotTrovare clienti con un chatbot
Trovare clienti con un chatbot
 
Innovare la relazione con i clienti nel retail
Innovare la relazione con i clienti nel retailInnovare la relazione con i clienti nel retail
Innovare la relazione con i clienti nel retail
 
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speed
 

Elixir, Phoenix e un Raspberry entrano in un campo Wi-Fi

  • 1. Elixir, Phoenix e un Raspberry entrano in un campo Wi-Fi Elixir Day 2016 Paolo Montrasio paolo.montrasio@connettiva.eu 21 maggio – Milano https://connettiva.eu/elixir-phoenix-raspberry-wifi/
  • 2. Demo! http://192.168.10.83:4000 Fare uno o due reload Canale 6 o canale 11 del Wi-Fi?
  • 3. GET / HTTP/1.1 Client IP address 192.168.1.100
  • 4. Phoenix → Linux Qual è il mac address di 192.168.1.100? arp → 00:11:22:33:44:55
  • 5. GET / HTTP/1.1 HTML response Hello 192.168.1.100 Your mac address is 00:11:22:33:44:55
  • 6. Phoenix → Linux A che volume parla 00:11:22:33:44:55? tshark
  • 8. Componenti Elenco dei mac address noti Phoenix per pagina web e websocket Misurazione decibel trasmissione con quei mac address Corrispondenza websocket ↔ mac address
  • 9. Arp.Table.poll() ogni secondo esegue System.cmd("arp", ["-n"]) → elenco dei mac address noti → aggiorna un KV.Registry “address” Per KV.Registry vedere http://elixir-lang.org/getting-started/mix-otp/genserver.html
  • 10. Il controller di Phoenix per la home page mette in corrispondenza il mac address alla websocket. Websocket ID, 00:11:22:33:44:55
  • 11. Processo Decibel.start() in receive Processo MacAddress con una Port.open({:spawn, "tshark -i wlan1 …"} …) Invia messaggi a Decibel.start() con la media dei dBm misurati ogni secondo per ogni mac address.
  • 12. Decibel.start() riceve e manda ad ogni client il valore del suo dBm sulla sua websocket.
  • 13. PID PPID TIME CMD 11216 1 00:00:00 /lib/systemd/systemd --user 11221 11216 00:00:00 (sd-pam) 11225 11208 00:00:01 sshd: pi@pts/0 11228 11225 00:00:00 -bash 14214 11228 00:00:28 /usr/local/lib/erlang/erts-7.2.1/bin/beam.smp -- -root /usr/local/lib/erlang -progname erl -- -home /hom 14256 14214 00:00:06 /home/pi/.nvm/versions/node/v5.7.0/bin/node node_modules/brunch/bin/brunch watch --stdin 14456 14214 00:00:00 /bin/dash /home/pi/beacon/channel_monitor wlan1 14531 14456 00:00:36 tshark -i wlan1 -T fields -e radiotap.channel.freq -e frame.time_epoch -e wlan.sa -e radiotap.dbm_antsig 14817 14531 00:00:01 /usr/bin/dumpcap -n -i wlan1 -Z none
  • 16. Wi-Fi modes Master access point Managed Wi-Fi clients (laptops, phones, tablets) Promiscuous vede ogni pacchetto dell’AP connesso Monitor vede ogni pacchetto di ogni AP (cifrati) Ad hoc peer connections (layer 1) Mesh routing per peer connections (layer 3) Repeater range extenders
  • 17. Wi-Fi modes Master access point Managed Wi-Fi clients (laptops, phones, tablets) Promiscuous vede ogni pacchetto dell’AP connesso Monitor vede ogni pacchetto di ogni AP (cifrati) Ad hoc peer connections (layer 1) Mesh routing per peer connections (layer 3) Repeater range extenders
  • 18.
  • 19. 2.450 GHz forni a microonde
  • 20. Workshop nel pomeriggio Task Branch repo Lancio automatico dell’applicazione autostart Supervisor per tshark restart-tshark La via di Elixir ai setting settings Come si fa il deploy Suggerimenti?
  • 21. Elixir, Phoenix e il Raspberry vi ringraziano Elixir Day 2016 Paolo Montrasio paolo.montrasio@connettiva.eu 21 maggio – Milano https://connettiva.eu/elixir-phoenix-raspberry-wifi/ il campo Wi-Fi non è stato eccessivamente molestato