array(4) { [0]=> string(24) "SmartLightning-master\F2" [1]=> string(3) " F3" [2]=> string(2) " 0" [3]=> string(21) " 2020-06-29 01:16:3 " } array(4) { [0]=> string(24) "SmartLightning-master\F2" [1]=> string(13) " F3\README.md" [2]=> string(5) " 4080" [3]=> string(21) " 2020-06-29 01:16:3 " } array(4) { [0]=> string(24) "SmartLightning-master\F2" [1]=> string(21) " F3\SmartLightning_F2" [2]=> string(2) " 0" [3]=> string(21) " 2020-06-29 01:16:3 " } array(4) { [0]=> string(24) "SmartLightning-master\F2" [1]=> string(43) " F3\SmartLightning_F2\SmartLightning_F2.ino" [2]=> string(5) " 2866" [3]=> string(21) " 2020-06-29 01:16:3 " } array(4) { [0]=> string(24) "SmartLightning-master\F2" [1]=> string(39) " F3\SmartLightning_F2\arduino_secrets.h" [2]=> string(4) " 104" [3]=> string(21) " 2020-06-29 01:16:3 " } array(4) { [0]=> string(24) "SmartLightning-master\F2" [1]=> string(21) " F3\SmartLightning_F3" [2]=> string(2) " 0" [3]=> string(21) " 2020-06-29 01:16:3 " } array(4) { [0]=> string(24) "SmartLightning-master\F2" [1]=> string(33) " F3\SmartLightning_F3\Decoder.txt" [2]=> string(4) " 455" [3]=> string(21) " 2020-06-29 01:16:3 " } SmartLightning 联合开发网 - pudn.com
SmartLightning

所属分类:测试
开发工具:C++
文件大小:469KB
下载次数:0
上传日期:2020-06-28 17:16:43
上 传 者sh-1993
说明:  仪表和传感器项目
(Instrumentation and Sensors Project)

文件列表:
F1 (0, 2020-06-29)
F1\SmartLightning_F1 (0, 2020-06-29)
F1\SmartLightning_F1\SmartLightning_F1.ino (1563, 2020-06-29)
F1\SmartLightning_F1\arduino_secrets.h (104, 2020-06-29)
F4 (0, 2020-06-29)
F4\F4img (0, 2020-06-29)
F4\F4img\TTN_AddIntegration.png (64503, 2020-06-29)
F4\F4img\TTN_Data.png (56122, 2020-06-29)
F4\F4img\TTS_Login.png (96995, 2020-06-29)
F4\F4img\TTS_NewChannel.png (100031, 2020-06-29)
F4\F4img\TTS_Tweet.png (71568, 2020-06-29)
F4\F4img\TTS_View.png (62174, 2020-06-29)
Img (0, 2020-06-29)
Img\TTN_DataF.png (25144, 2020-06-29)
Img\TTS_Twitter.png (14286, 2020-06-29)
Img\TTS_ViewF.png (86204, 2020-06-29)
LICENSE (1070, 2020-06-29)
SmartLightning.ino (3232, 2020-06-29)
arduino_secrets.h (104, 2020-06-29)

# SmartLightning > IOT - Smart Lightning Application. Para facilitar a leitura deste ficheiro, usar o vscode (ou similar) e colocar em modo "__preview__".
Qualquer eventual alteracao/atualizacao deste projeto, encontrar-se-a no __Github__. ## Equipment
  • Arduino MKRWAN
  • LDR Sensor
  • Analog Ambient Light Sensor by DFRobot's
  • LED
  • 10 KΩ Resistor
  • 220 Ω Resistor
  • Breadboard
  • Breadboard Wire
__LDR Specification__ Ω in bright light
MΩ in darkness __Analog Ambient Light Specification__ Supply Voltage: 3.3V to 5V
Illumination range : 1 Lux to 6000 Lux
Responsive time : 15us
Interface: Analog
Size:22x30mm ## Overview Este projeto tem como intuito, a criacao de uma aplicacao Smart Lightning em IOT.
Neste caso, iremos usar os dois sensores acima referidos, de forma a ter nocao da `Luminosidade` e da `Tensao` a que esta sujeito um espaco interior, mediante a luz solar que e incidida no mesmo, ligando ou desligando um LED. Este LED dispensa qualquer interacao humana, o que permite obter um sistema inteligente e eficiente de ligar e desligar a luz, dependendo da condicao exterior.
E importante salientar o uso do protocolo LoRaWAN, atraves do arduino MKRWAN e do The Things Network, que torna possivel nao so armazenamento e analise de dados mas tambem, uma vantajosa interacao com diversas aplicacoes que permite uma reacao aos mesmos, desde enviar um tweet quando uma condicao e cumprida (abordada neste trabalho), a uma aplicacao de telemovel que permite interagir com o dispositivo, sendo possivel ligar e desligar a luz do LED atraves da mesma. ## Procedure and Results Este projeto vai ser divido em 4 fases, cada fase encontra-se na sua respetiva pasta com uma explicacao promenorizada. ### 1a Fase Registo do dispositivo MKRWAN no `The Things Network`: #### Device Overview (TTN) ```plan Application ID: smartlighting-app Device EUI: 009472084173A903 Application EUI: 70B3D57ED002E395 App Key: 6A21B5D4855D9595F888E6096BC2444B ``` ### 2a Fase Leitura de valores dos sensores e posterior envio: #### Code (Arduino) ```c // Leitura de valores // Read values lux = analogRead(lightSensor); analogValue = analogRead(ldrSensor); voltage = analogValue * (5.0 / 1023.0); resLrd = ((10000.0 * 5.0)/voltage) - 10000.0; //Low (voltage>>>2,5) ; High (voltage<<<2.4) if (millis() - time > 60000){ luxValue = (float)lux * 0.6 + (float)luxValue * 0.4; lux = 0; voltageValue = (float)voltage * 0.6 + (float)voltageValue * 0.4; voltage = 0; if(voltageValue <= 2){ digitalWrite(LED, HIGH); ledValue = 1; Serial.println("It's too dark, LED turn on!"); } else { digitalWrite(LED, LOW); ledValue = 0; Serial.println("It's too bright, LED turn off!"); } time = millis(); } // Envio para o TTN de 10 em 10 minutos (600000ms) // Send to TTN every 10 minutes (600000ms) if (millis() - timeUpload > 600000){ int valLux = (int)(luxValue * 10); txBuffer[0] = (valLux >> 8) & 0xff; txBuffer[1] = valLux & 0xff; int valVol = (int)(voltageValue * 10); txBuffer[2] = (valVol >> 8) & 0xff; txBuffer[3] = valVol & 0xff; txBuffer[4] = ledValue & 0xff; int err; modem.beginPacket(); modem.write(txBuffer); err = modem.endPacket(true); timeUpload = millis(); } ``` ### 3a Fase Descodificar os dados recebidos: #### Payload Formats (TTN) ```js function Decoder(bytes, port) { var decoded = {}; if (port === 1){ decoded.lux = ((bytes[0] << 8) | bytes[1]); decoded.vol = ((bytes[2] << 8) | bytes[3]); decoded.led = bytes[4] if(decoded.led == 1) decoded.Status = "LED ON"; if(decoded.led === 0) decoded.Status = "LED OFF"; } return{ field1: decoded.lux / 10, field2: decoded.vol / 10, field3: decoded.led, status: decoded.Status } } ``` Resultado: ![TTN_DataF](https://github.com/r0m5-23/SmartLightning/blob/master/./Img/TTN_DataF.png) ### 4a Fase Integracao dos dados no __The Things Speak__: ![TTN_ViewF](https://github.com/r0m5-23/SmartLightning/blob/master/./Img/TTS_ViewF.png)
React atraves do __Twitter__ quando o LED esta ON: ![TTS_Twitter](https://github.com/r0m5-23/SmartLightning/blob/master/./Img/TTS_Twitter.png) ## Culmination Como esperado, podemos verificar o exito de todas as fases.
E de notar, que esta e uma simulacao e nao foi possivel testar o equipamento devido ao ano atipico a que estivemos sujeitos (Covid-19), nao permitindo analisar com precisao os resultados obtidos.
Para concluir, este projeto foi desenvolvido no ambito da Unidade Curricular: __Instrumentacao e Sensores__, Curso: __Mestrado Integrado em Engenharia Eletrotecnica e de Computadores__, Universidade: __UTAD__. ## Trabalho Realizado por > Renato Mendes - 65384

近期下载者

相关文件


收藏者