Código
- Simple-and-Smart-Air-Purifier-System.ino
- iot_config.h
- iot_config.cpp
- dust_config.h
- dust_config.cpp
- aws_iot_config.h
- LICENÇA
Simple-and-Smart-Air-Purifier-System.ino Arduino
Código principal do Arduino / * Código-fonte para sistema purificador de ar simples e inteligente escrito por Aaron Kow Licença:Licença MIT * / # include "iot_config.h" #include "dust_config.h" aws_iot_setup aws_iot; dust_setup dust_sensor; int measurePin =4; int ledPower =12; int relayPin =13; resultado flutuante; configuração vazia () {pinMode (ledPower, OUTPUT); pinMode (relayPin, OUTPUT); aws_iot.config ();} void loop () {// definir resultado de densidade de poeira result =dust_sensor.init (measurePin, ledPower); // AWS IoT MQTT para monitoramento de dados em tempo real aws_iot.data (resultado); // se a densidade da poeira for maior que 0,25 mg / m3, ligue o filtro de ar se (resultado> 0,25) {digitalWrite (relayPin, HIGH); } else {digitalWrite (relayPin, LOW); } atraso (1000);}
iot_config.h C / C ++
Arquivo de cabeçalho para minha configuração de IoT / * Código fonte para sistema purificador de ar simples e inteligente escrito por Aaron Kow Licença:Licença MIT * / # ifndef iotconfig_h # define iotconfig_h # include #include #include #include "aws_iot_config.h" class aws_iot_setup {public:void config (void); teste de vazio (vazio); void data (float);}; # endif
iot_config.cpp C / C ++
Meu arquivo de configuração de IoT / * * Copyright 2010-2015 Amazon.com, Inc. ou suas afiliadas. Todos os direitos reservados. * * Licenciado sob a Licença Apache, Versão 2.0 (a "Licença"). * Você não pode usar este arquivo, exceto em conformidade com a Licença. * Uma cópia da Licença está localizada em * * http://aws.amazon.com/apache2.0 * * ou no arquivo de "licença" que acompanha este arquivo. Este arquivo é distribuído * "COMO ESTÁ", SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, * expressas ou implícitas. Consulte a Licença para o idioma específico que rege * as permissões e limitações sob a Licença. * // * * Este código-fonte foi modificado para o sistema purificador de ar simples e inteligente * Escrito por Aaron Kow * / # include "iot_config.h" aws_iot_mqtt_client myClient; // init iot_mqtt_clientchar msg [32]; // bufferint de leitura e gravação cnt =0; // loop countsint rc =-100; // valor de retorno placeholdervoid msg_callback (char * src, int len) {Serial.println ("CALLBACK:"); int i; para (i =0; i 0,25) {sprintf (mqtt, "Densidade de poeira:% s mg / m3, filtro de ar está LIGADO", msg); } else {sprintf (mqtt, "Densidade de poeira:% s mg / m3, filtro de ar desligado", msg); } if ((rc =myClient.publish ("dustlevel", mqtt, strlen (mqtt), 1, false))! =0) {Serial.println ("Publish falhou!"); Serial.println (rc); // falha =-6} // para depuração print Serial.print ("Dust density:"); Serial.print (dados); Serial.println ("mg / m3");}
dust_config.h C / C ++
Arquivo de cabeçalho para configuração do sensor de poeira Código-fonte / * Código-fonte para sistema purificador de ar simples e inteligente Escrito por Aaron Kow Licença:Licença MIT * / # ifndef dustconfig_h # define dustconfig_h # include class dust_setup {public:float init (int, int);}; # endif
dust_config.cpp C / C ++
Código-fonte de configuração do sensor de poeira / * Esboço autônomo para usar com um Arduino Fio e um sensor de poeira óptico Sharp GP2Y1010AU0F Blog:http://arduinodev.woofex.net/2012/12/01/standalone-sharp-dust-sensor / Código:https://github.com/Trefex/arduino-airquality/ Para conexões Pin, verifique o Blog ou a página do projeto do github Autores:Cyrille Mdard de Chardon (serialC), Christophe Trefois (Trefex) Registro de alterações:2012-dez -01:Código limpo Este trabalho foi licenciado pela Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/3.0/ ou envie uma carta para Creative Commons, 444 Castro Street, Suite 900, Mountain View, Califórnia, 94041, EUA . * // * * Este código-fonte foi modificado para um sistema purificador de ar simples e inteligente * Escrito por Aaron Kow * / # include "dust_config.h" int samplingTime =280; int deltaTime =40; int sleepTime =9680; float voMeasured =0; float calcVoltage =0; float dustDensity =0; float dust_setup ::init (int measurePin, int ledPower) {digitalWrite (ledPower, LOW); // liga o LED delayMicroseconds (samplingTime); voMeasured =analogRead (measurePin); // ler o valor de poeira delayMicroseconds (deltaTime); digitalWrite (ledPower, HIGH); // desliga o LED delayMicroseconds (sleepTime); // 0 - 5 V mapeado para 0 - 1023 valores inteiros // recuperar a tensão calcVoltage =voMeasured * (5.0 / 1024); // equalização linear retirada de http://www.howmuchsnow.com/arduino/airquality/ // Chris Nafis (c) 2012 dustDensity =0,17 * calcVoltage - 0,1; return dustDensity; // unidade:mg / m3}
aws_iot_config.h C / C ++
Arquivo de cabeçalho para AWS IoT Configuration / * * Copyright 2010-2015 Amazon.com, Inc. ou suas afiliadas. Todos os direitos reservados. * * Licenciado sob a Licença Apache, Versão 2.0 (a "Licença"). * Você não pode usar este arquivo, exceto em conformidade com a Licença. * Uma cópia da Licença está localizada em * * http://aws.amazon.com/apache2.0 * * ou no arquivo de "licença" que acompanha este arquivo. Este arquivo é distribuído * "COMO ESTÁ", SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, * expressas ou implícitas. Consulte a Licença para o idioma específico que rege * as permissões e limitações sob a Licença. * / # ifndef config_usr_h # define config_usr_h // Copie e cole sua configuração neste arquivo // =======================================================================# define AWS_IOT_MQTT_HOST "" #define AWS_IOT_MQTT_PORT 8883 // seu porta # define AWS_IOT_CLIENT_ID "" #define AWS_IOT_MY_THING_NAME "" #define AWS_IOT_ROOT_CA_FILENAME "" #define AWS_IOT_Certificado " definir AWS_IOT_PRIVATE_KEY_FILENAME "" // =====================================================================// Configuração do SDK, NÃO modifique # define AWS_IOT_PATH_PREFIX "./certs/"#define AWS_IOT_ROOT_CA_PATH AWS_IOT_PATH_PREFIX AWS_IOT_ROOT_CA_FILENAME // usar isso em chamadas de configuração # define AWS_IOT_CERTIFICATE_PATH AWS_IOT_PATH_PREFIX AWS_IOT_CERTIFICATE_FILENAME // usar isso em chamadas de configuração # define AWS_IOT_PRIVATE_KEY_PATH AWS_IOT_PATH_PREFIX AWS_IOT_PRIVATE_KEY_FILENAME // usar isso em chamada de configuração # endif
LICENÇA Markdown
Licença MIT A Licença MIT (MIT) Copyright (c) 2015 AaronKowPermission é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para negociar o Software sem restrições , incluindo, sem limitação, os direitos de usar, copiar, modificar, fundir, publicar, distribuir, sublicenciar e / ou vender cópias do Software e permitir que as pessoas a quem o Software é fornecido o façam, sujeito às seguintes condições:Os direitos autorais acima e este aviso de permissão deve ser incluído em todas as cópias ou partes substanciais do Software. O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA ORIMPLICADA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO PROPÓSITO E NÃO VIOLAÇÃO. EM NENHUMA HIPÓTESE OS AUTORES OU TITULARES DOS DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER REIVINDICAÇÃO, DANOS OU OUTRAS RESPONSABILIDADES, SEJA EM UMA AÇÃO DE CONTRATO, ATO OU OUTRA FORMA, DECORRENTE DE, FORA DE OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO Código-fonte para sistema purificador de ar simples e inteligente
Repositório GitHub para sistema purificador de ar simples e inteligentehttps://github.com/AaronKow/Simple-and-Smart-Air-Purifier-System