Programação
-
PSI3542 - Sistemas Embarcados para IoT 2020 2o. Semestre
início das aulas - Terça-feira, 18 de Agosto de 2020
Aulas
Terça-feira: 16:50-18:30
Quinta-feira: 16:50-18:30
As aulas serão realizadas a distância através da Plataforma ZOOM
Oferecimento da disciplina nos anos anteriores
2019 https://edisciplinas.usp.br/course/view.php?id=70965
-
Notícias e avisos
-
-
Aula Introdutória
-apresentação das diretrizes da disciplina
-introdução a Sistemas Embarcados e IoT
Documentos:
-
DISPOSITIVOS IOT & CLOUD DASHBOARDS
1. Dispositivos IoT
2. Smartphone como dispositivo IoT
3. Dashboards na Nuvem
4. Freeboard
5. Pratica
- material necessario
- Computador, Smartphone Android, acesso a internet WIFI, acesso a internet por 4G
Aula (pdf)
Atividade Pré-Aula (opcional, mas recomendável)
Video
Material para estudo adicional
2. https://www.initialstate.com/blog/what-is-an-iot-dashboard/
3. http://www.steves-internet-guide.com/iot-mqtt-dashboards/
4. https://blog.bitsrc.io/building-an-internet-of-things-dashboard-fe8c9b80581a
5. Dashboards
5.1 Freboard https://freeboard.io/
5.2 ThingsBoard https://thingsboard.io/
5.3 Grafana https://grafana.com/grafana/
-
IMPLEMENTAÇÃO DE UM SISTEMA IOT COM SMARTPHONE COMO SENSOR, BROKER MQTT (HIVEMQ) E CLOUD NODE-RED (FRED)
agenda
-conclusão da prática com o FREEDBOARD + DWEET.IO + SMATPHONE (dweet my phone)
-prática com MQTT e NODE-RED
Artigos e Apresentações
Links
1. FRED http://sensetecnic.com/how-fred-cloud-node-red-works/
2. HiveMQ https://www.hivemq.com/public-mqtt-broker/
3. Freeboard https://freeboard.io/
4. dweet.io https://dweet.io/
-
NODE-RED na NUVEM e localmente no Raspbian
1) Node-Red na Nuvem (FRED) com MQTT Broker e smartphone como sensor
2) Node-Red executado localmente
-instale o virtualbox (www.virtualbox.org) e suas extensoes
arquivo VirtualBox-6.1.10-138449-Win.exe
extensoes Oracle_VM_VirtualBox_Extension_Pack-6.1.12.vbox-extpack
-instale no virtualbox uma maquina com a imagem VDI do raspian X86 do site osboxes.org
imagem VDI: https://www.osboxes.org/raspbian/#raspbian-2019-09-30-info
arquivo: Raspbian 2019-09 (32bit).vdi
pais: Brazil
cidade: sao paulo
lingua inglesa
teclado US
-execute o raspbian no virtualbox
configure para 2 cores
configure a rede para BRIDGE
memoria 4096 Bytes RAM
-instale/atualize o Guest Additions (GA)
na aba de comando superior do VB, faca a insercao do disco do GA
copie o arquivo VBoxLinuadditions.run no diretorio /media/cdrom0 para ~/Downloads
mude para permissao de execucao
chmod +x VBoxLinuxAdditions.run
execute o arquivo
sh //VBoxLinuxAdditions.run
-instale o node-red (https://nodered.org/docs/getting-started/raspberrypi)
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
-dispare o node-red
-entre no node-red pelo browser
localhost:1880
-instale o palette de dashboard
pelo palette manager, encontre o dashboard e instale
verifique na aba lateral direita se o palette foi instalado
implemente um FLOW simples, com nodes de : gerador de eventos, debugger, dashboard
-
AULA 05 - PRATICA DESENVOLVENDO APLICAÇÕES COM O NODE-RED E MQTT
Nesta aula, os alunos devem isntalar o virtualbox no seu computador e instalar uma imagem do Raspbian X86 (ou Ubuntu). Instale o NODE-RED.
1. enviando (publish) mensagens de texto pelo NODE-RED rodando na maquina virtual VIRTUALBOX ao MQTT Broker HiveMQ e recebendo as mensagens (subscribe) no NODE-RED
1.1 envie mensagens (publish) ao MQTT broker HiveMQ pelo NODE-RED
1.2 receba mensagens (subscribe) no NODE-RED
1.2.1 verifique as mensagens recebidas no debugger
1.2.2 verifique as mensagens recebidas pelo NODE-RED DASHBOARD
1.2.3 verifique as mensagens recebidas usando o TEXT-TO-SPEECH no NODE-RED
1.3 salve o FLOW
1.4 tarefa 1: envie o FLOW ao Moodle, junto com a tela do NODE-RED (programação) e do dashboard
2. utilize o MQTT broker MOSCA no NODE-RED e repita o item (1)
3. implemente no NODE-RED um flow para conectar o smartphone ao MQTT broker MOSCA, receba os topicos no NODE-RED e implemente um display dos sensores no DASHBOARD
-
PRATICA - EXERCICIO PARA ENTREGAR HOJE!
seNSORIAMNETO DO SMARTPHONE
1) INSTALE O VIRTUALBOX E O EXTENSIONS PACK
2) INSTALE O UBUNTU (OU O RASPBIAN X86) NO VIRTUALBOX, USANDO A IMAGEM DISPONIVEL EM OSBOXES.ORG OU USANDO O ARQUIVO ISO DE INSTALACAO DO SITE UBUNTU (OU RASPBERRY)
3) CONFIGURE A MAQUINA VIRTUAL PARA PELO MENOS DOIS NUCLEOS DE PROCESSAMENTO, 4096GB RAM E 32GB DE DISCO (NO CASO DA IMAGEM DO SITE OSBOXES.ORG O TAMANHO DO DISCO JÁ VEM CONFIGURADO)
4) CONFIGURE A REDE PARA OPERAR NO MODO BRIDGE
5) EXECUTE A MAQUINA VIRTUAL E CONFIGURE O TECLADO CORRETAMENTE
6) INSTALE O NODE-RED
7) VERIFIQUE ATRAVES DA EXECUCAO DO COMANDO "ifconfig" NA JANELA DE TERMINAL O ENDERECO IP DA MAQUINA VIRTUAL
8) DISPARE O NODE-RED
9) VERIFIQUE O FUNCIONAMENTO DO NODE-RED PELO BROWSER DA MAQUINA VIRTUAL. FECHE O BROWSER.
10) ABRA UM BROWSER NO WINDOWS E ABRA O LINK (ENDERECO IP DA MAQUINA VIRTUAL, PORTA 1880)
11) INSTALE OS NODES CORRESPONDENTES AO DASHBOARD E AO MOSCA (MQTT BROKER)
IMPORTE O SEGUINTE FLOW
12) INSTALE NO SMARTPHONE O APP SENSOR-NODE-FREE
13) CONFIGURE O APP COM O ENDERECO DO MQTT BROKER E ATIVE O STREAM
14) VERIFIQUE PELO BROWSER SE O NODE-RED ESTA OPERANDO CORRETAMENTE, CAPTURANDO OS DADOS DO ACELEROMETRO
15) MOSTRE NO DASHBOARD DIVERSOS GRAFICOS. SE POSSIVEL ENVIE MAIS DADOS DE SENSORES DO SMARTPHONE!
16) OBTENHA O JASON DOS FLUXOS RODANDO NO NODE-RED E ENVIE AO MOODLE, JUNTO COM UMA FIGURA CONTENDO A JANELA DE PROGRAMACAO DO NODE-RED E DO DASHBOARD.
-
-CODIGO JASON
-JANELA COM OS FLUXOS
-DASHBOARD
-
-
-
AULA08 - PLATAFORMA DE IOT IBM WATSON CONECTADO COM UM CELULAR
Na aula de hoje continuaremos a parte prática iniciada na aula 07.
PS. Em relação à parte final, com o NODE-RED conversando com o Watson IoT Platform, faltou fazer a conexão entre os dois. Feita a conexão, nas opções, além do quickstart, API Key, vai aparecer a opção Bluemix service.
-criar uma conta na IBM Cloud https://www.ibm.com/watson
-entrar na sua conta
-fazer o BUILD e DEPLOY do NODE-RED
-idem IOT Platform
-conectar o NODE-RED ao IOT Platform
-instalar a aplicação de "IOT Starter" no celular
-instalar o dispositivo Android no Watson IOT Platform
-link de referencia https://developer.ibm.com/technologies/iot/tutorials/iot-mobile-phone-iot-device-bluemix-apps-trs/
-
INTEGRAÇÃO DISPOSITIVO IO + IOT GATEWAY + IBM WATSON (WATSON IOT PLATFORM + NODE-RED)
-
INTEGRAÇÃO DISPOSITIVO IOT + GATEWAY/EDGE + IBM WATSON IOT PLATFORM + IBM WATSON NODE-RED
AULA PRÁTICA
-
1) criar um serviço de STT no IBM Cloud (Watson)
2) anote as credenciais
3) Realize as atividades do STT Parte 1
3.2) https://cloud.ibm.com/docs/services/speech-to-text?topic=speech-to-text-gettingStarted
4) Prática com o Node Red
4.1) instale o json correspondente à parte 02. Verifique a configuraçao de cada nó
4.2) teste com o microfone
arquivos -
Exercicio
1) implemente no NODE-RED um radio player. Siga o exemplo abaixo:
https://flows.nodered.org/flow/8b75e690f46b339639347cb0dce63344
2) modifique o programa para prover interface com o usuario atraves de VOZ (fala)
-o sistema solicita a estacao
-o usuario responde em linguagem natural a estacao de radio desejada
-o sistema toca a estacao
-
IMPLEMENTACAO DO BLOCO TOCADOR DE MUSICA.
MODIFIQUE O TOCADOR DE MUSICA PARA OUTRAS MODALIDADES DE TOCADOR DE MIDIA (LISTA DE MUSICAS, ESTACOES DE RADIO, ETC.)
MODIFIQUE O SISTEMA PARA RECEBER COMANDOS DE VOZ
COMO OBTER LINKS PLS DE RADIO INTERNET:
entre em: https://www.internet-radio.com/
selecione uma modalidade de musica, por exemplo jazz
clique em .pls e salve em algum editor do tipo notepad...
obtenha o URL da radio internet (pls)
BOA SORTE
-
BIBLIOGRAFIA
TRABALHO PARA ENTREGAR
DATA DE ENTREGA, COM APRESENTAÇÃO DO FUNCIONAMENTO: TERCA-FEIRA, 6 DE OUTUBRO
TRABALHO EM GRUPO - OS GRUPOS DEVEM ENTREGAR A DESCRIÇÃO FUNCIONAL/NÃO FUNCIONAL E ASPECTOS DE IMPLEMENTAÇÃO E INTERFACE COM USUÁRIO HOJE, NO FIM DA AULA, AS 18H30.
DESCRIÇÃO: Implemente no node-red do raspberry-pi ou no node-red do Ubuntu executado no virtualbox do seu computador, uma aplicação de assistente domótico com interface humano-máquina (usando STT e TTS) com a seguinte funcionalidade:
-Executar a função TOCAR RÁDIO. Voce pode escolher uma radio a partir de uma lista de estações de radio ou a partir de uma lista de classes (música, notícias, etc)
Pode-se utilizar serviços do IBM WATSON ou de qq outra provedora (google, microsoft, amazon etc.)
Na aula do dia 6 os grupos devem fazer a apresentação do funcionamento do trabalho e os detalhes de implementação.
-
1) DEFINIÇÃO DOS GRUPOS E TRABALHOS FINAIS
2) COMUNICAÇÃO ZIGBEE ENTRE EDGE/GATEWAY E IOT DEVICES
3) Iod Device implemented with ESP32
O ESP32
https://www.usinainfo.com.br/blog/esp32-wifi-comunicacao-com-a-internet/
-simple blink demo
-wifi connection
-MQTT
-
AULA 16
-ESTUDO DE CASO: MONITORAÇÃO DE SAUDE ATRAVÉS DE PULSEIRA INTELIGENTE UTILIZANDO MACHINE LEARNING
-INTRODUÇÃO A MACHINE LEARNING: IBM WATSON
ler:
-
IOT E SEGURANÇA CIBERNÉTICA
LINKS:
-
-
MOTIVAÇÃO:
1. HACKING A CAR
2. BOTNETS
3. documentos importantes
3.1 ENISA
Baseline Security Recommendations for IoT in the context of Critical Information Infrastructures
ENISA Good practices for IoT and Smart Infrastructures Tool
3.2 LACNOG
3.3 Artigo Learning Internet of Things Security “Hands-on”
-
AULA FINAL
1. APRESENTAÇÃO DE TRABALHO FINAL
2. PALESTRA CONVIDADA - ENG. JONNY DOIN, GRIDVORTEX
Desafios e Oportunidades para IoT development.