Мазмұны:

Ақылды үйді бастау - Projeto Final: 6 қадам
Ақылды үйді бастау - Projeto Final: 6 қадам

Бейне: Ақылды үйді бастау - Projeto Final: 6 қадам

Бейне: Ақылды үйді бастау - Projeto Final: 6 қадам
Бейне: Басқа тышты деген осы 😡 2024, Қараша
Anonim
Ақылды үйді бастау - Projeto Final
Ақылды үйді бастау - Projeto Final

Ақылды үйдің соңғы нұсқасы IoT бағдарламасының соңғы нұсқасы

Ақпараттық үйдің ақырғы нұсқасында ақылды үйдің ақысыз нұсқасы бар, ол ақылды үйге, DrangonBoard + Linker Mezzanine -ге арналған сенсорлық сенсорлармен, сонымен қатар компьютерлік байланыстармен қамтамасыз етілген. AWS -те бұлтты «ақпарат» туралы ақпарат бар. Бұл DragonBoard және IoT коммерциялық жүйелерінде, автоматты жүйелерде, машиналар мен датчиктерде, сенсорларда, компьютерлерде, компьютерлерде, компьютерлерде және компьютерлерде. -сенсор сенсорлы түрде орнатыла алмайды, бұл ақпараттың жеке меншігінде де бар, ол сіздің компьютеріңізде де бар.

1 -қадам: Materias Necesários

Материас Неатариоси
Материас Неатариоси
Материас Неатариоси
Материас Неатариоси
  1. DragonBoard тақтасын орналастырыңыз.
  2. 96Boards Linker Mezzanine
  3. Luminozidade сенсоры (LDR) байланыстырушы мезанинге қосылады.
  4. Байланыстырушы Mezzanine сенсоры.
  5. Байланыстырушы Mezzanine -ге сілтеме жасаңыз.
  6. A/C жүйесімен байланыстырушы байланыс құралымен байланыс орнатыңыз.
  7. Жарықдиодты байланыстырушы Mezzanine -ге қосылады, олар бір -бірімен байланысады.
  8. Пассивті емес кітапханаларды орнатыңыз 5.

2 -қадам: Sensores, Atuadores E Conexões

Sensores, Atuadores E Conexões
Sensores, Atuadores E Conexões
Sensores, Atuadores E Conexões
Sensores, Atuadores E Conexões

1. байланыстырушы мезанин:

Айдаһар тақтасы мен Mezzanine -дің бірі. Толығырақ, кеңесші сілтемесі

2. Люминозидад сенсоры (LDR)

ADC1 жүйесінде бір мезгілде сенсорлық байланыс орнатылады. Парақшалар техниканы анықтайды:

3. Температура сенсоры

ADC2 жүйесіне кіру сенсоры Kit -Linker Mezzanine -мен байланыс орнатады. Парақшалар техниканы анықтайды:

4. Botão Touch

D1 -ге кіру сенсоры D1. Бұл сіздің жүйеңізге кіруге мүмкіндік береді. Жергілікті жерде. Параметрлерді анықтайды: https://linksprite.com/wiki/index.php5? Title = Touch_…

5. Реле

Kit2 Linker Mezzanine D2 -ге кіруге мүмкіндік береді. A/C. жүйесіндегі ең маңызды мәселелерді шешіңіз:

6. Жарық диоды

Жарықдиодты жарықтандыру D4 жүйесінде Linker Mezzanine -мен байланыс орнатады. Жарықдиодты жарықдиодты жүйелер де, интернеттерде де, интернеттерде де, компьютерлерде де, компьютерлерде де бар. Бұл резистордың резисторы 10км-ге дейін қысқарады, егер сіз жүйені пайдалансаңыз, онда ол сіздің тәжірибеңізге сәйкес келеді. Парақшалар техниканы тазартады:

7. De contato magnético сенсоры

Деректер жиынтығы - бұл Linker Mezzanine -дің бір бөлігі. Ақпараттық ақпараттарға сүйенсек, бұл жаңалықтар жоқ. Ол сенсордың көмегімен 2 қадамды (мысалы, Step acima), сенсорды «сендіру», сенсорды орнату, сенсорды өзгертуге болады. N/A (қалыпты жағдайға сәйкес) жобасының сенсоры. Датчик немесе сенсор туралы есеп беріңіз. Датчик немесе датчиктерді хабарлауға болады.

3 -қадам: Апликативті бақылаудың ремоты

Қолданбалы ремото
Қолданбалы ремото

Ionic Framework, https://ionicframework.com/ сайтынан табуға болады. Сіз жүктеуді жүктеуіңіз керек.

AWS (AWS IoT- https://aws.amazon.com/iot/) арқылы бұлтты байланыс орнатылғаннан кейін, бұл айдаһар тақтасының күйін анықтауға мүмкіндік береді..

- Сайттар мен жүйелердің тізімі. Ең бастысы, ол автоматты түрде орнатылатын болады. Ақылға сыйымдылықты күшейту керек, өйткені бұл өте жақсы.

- A/C желілік кондиционері, кондиционерлік жүйе немесе кондиционерлік жүйе. Темперамент пен температураның анықталуы мүмкін. Температураның жоғарылауы ауа температурасы мен ауа температурасының жоғарылауына байланысты болады, ол ауа температурасы мен ауа температурасының тұрақсыздығына байланысты болады. Мысалы, 23 -ші сыныптағы ауа -райы. Ішкі ауа температурасы 24 сағаттан аспайды, кондиционер мен ауа температурасы 20 сағатқа дейін созылады. Қайталау.

- Қарапайым ақпараттар, сондай -ақ басқа да ақпараттар.

- Ішкі температура мен интерьер температурасы.

- Luminosidade немесе luminosidade atual luminosidade atual data apeles.

AWS және атмосфералық қосымшалармен жұмыс істеу үшін home.html және home.ts бағдарламалары қажет.

4 -қадам: Criando Uma «coisa» Na AWS IoT

Криандо Ума
Криандо Ума

AWS -те IoT орнатудың келесі кезеңдері қажет:

1) Сілтеме бойынша AWS IoT қолданылмайтын жобалар:

2) Clique «затты жасау» және «бір нәрсені жасау». Келесіге жобалау керек.

3) «Сертификатсыз затты жасаңыз» деген сөз жоқ. IoT семестрінің сертификаттары бойынша оқулықтар сертификаттармен қамтамасыз етіледі.

4) Қандай да бір маңызды сәт жоқ. «Коиса» сөзі жоқ, себебі бұл телекоммуникациялық қызметтерді қосуға мүмкіндік бермейді. Nessa telem podmos os tópicosMQTT кез келген мәселені шешуге мүмкіндік береді, сонымен қатар ақаулықтарды жоюға болады. Python -да ешқандай қате жоқ, олар ешқандай жағдайда қолданылмайды. AWS Cloud бағдарламасында «көлеңке» деген сөздің толық нұсқасы пайда болады.

5 -қадам: Python бағдарламасы

Библиотекалар мен бағдарламалардың орындалуы бойынша:

импорт spidevimport уақыты импорттау журналы импорт json импорт argparse

libsoc импорттық gpio -дан

уақыт импорттық ұйқыдан datetime импорттау күнінен, gpio_96boards -тен datetime AWSIoTPythonSDK. MQTTLib -тен GPIO импорттау AWSIoTMQTTClient -тен AWSIoTPythonSDK. MQTTLib -тен импорттау.

Бағдарламаның толық нұсқасы:

импорт spidevimport уақыты импорттау журналы импорт json импорт argparse

libsoc импорттық gpio -дан

уақыт импорттық ұйқыдан datetime импортталған күннен бастап, gpio_96boards -тен datetime AWSIoTPythonSDK. MQTTLib импорты AWSIoTMQTTClient -ден AWSIoTPythonSDK. MQTTLib импорты AWSIoTMQTTShadowClient -тен.

GPIO_CS = GPIO.gpio_id ('GPIO_CS') #аналогтық порт

BUTTON = GPIO.gpio_id ('GPIO_A') RELE = GPIO.gpio_id ('GPIO_C') LED = GPIO.gpio_id ('GPIO_G')

түйреуіштер = ((GPIO_CS, 'шығу'), (ТҮЙМЕ, «кіру»), (RELE, «шығу»), (ЖШД, «шығу»),)

def setdevices (deltaMessagePython):

System_Status = deltaMessagePython ['SystemStatus'] Rele_Status = deltaMessagePython ['AC'] Led_Status = deltaMessagePython ['SisIlumi']

##### айнымалы ток

егер Rele_Status == 1: gpio.digital_write (RELE, GPIO. HIGH)

егер Rele_Status == 0:

gpio.digital_write (RELE, GPIO. LOW)

##### Илуминакао жүйесі

егер Led_Status == 1: gpio.digital_write (LED, GPIO. HIGH) егер Led_Status == 0: gpio.digital_write (LED, GPIO. LOW)

def readadc (gpio):

gpio.digital_write (GPIO_CS, GPIO. HIGH)

time.sleep (0.0002) gpio.digital_write (GPIO_CS, GPIO. LOW) r = spi.xfer2 ([0x01, 0xA0, 0x00])#ADC2 - gpio.digital_write температурасы (GPIO_CS, GPIO. HIGH) adcout = (r [1] << 8) & 0b1100000000 adcout = adcout | (r [2] & 0xff) adc_temp = (adcout *5.0/1023-0.5) *100

gpio.digital_write (GPIO_CS, GPIO. HIGH)

time.sleep (0.0002) gpio.digital_write (GPIO_CS, GPIO. LOW) r = spi.xfer2 ([0x01, 0x80, 0x00])#ADC1 - Жарықтық gpio.digital_write (GPIO_CS, GPIO. HIGH) adcoutldr = (r [1] << 8) & 0b1100000000 adcoutldr = adcoutldr | (r [2] & 0xff) adcoutldr = str (adcoutldr) now = datetime.utcnow () now_str = now.strftime ('%Y-%m-%dT%H:%M:%SZ') температура = «{:.2f} «. Формат (adc_temp) payload_temp = '{» күй «: {» қалаған «: {» Люминозидад «:' + adcoutldr + ',» Температура «:' + температура + '}}}' myMQTTClient.publish («$ aws/things/DBpyAWS1116/shadow/update», payload_temp, 0) r қайтару

Def desliga ():

gpio.digital_write (RELE, GPIO. LOW) gpio.digital_write (жарық диоды, GPIO. LOW)

def run (gpio):

system_status = 1

шындық кезінде:

time.sleep (2) button_value = gpio.digital_read (BUTTON) басып шығару («----») time.sleep (0.25) егер button_value == 1: егер system_status == 0: system_status = 1 басқа: system_status = 0 desliga () егер system_status == 1: value = readadc (gpio) басып шығару «SYSTEM_STATUS %d» %system_status time.sleep (3)

shadowCallbackContainer сыныбы:

def _init _ (өзін, deviceShadowInstance): self.deviceShadowInstance = deviceShadowInstance

# Қолданбалы көлеңкеге қайта қоңырау шалу

def customShadowCallback_Delta (өзіндік, пайдалы жүктеме, жауапStatus, токен): басып шығару («Дельта хабарламасы алынды:») ### жүктемені жаңарту сценарийі payloadDict = json.loads (пайдалы жүктеме) deltaMessage = json.dumps (payloadDict [«state»]) басып шығару «DELTA MESSAGE %s» %deltaMessage ### Хабарланған күйді жаңартуды сұрау newPayload = '{«state»: {«report»:' + deltaMessage + '}}' deltaMessagePython = json.loads (deltaMessage) setdevices (deltaMessagePython)

spi = spidev. SpiDev ()

spi.open (0, 0) spi.max_speed_hz = 10000 spi.mode = 0b00 spi.bits_per_word = 8

####### Заттың анықтамасы

# AWS IoT сертификатына негізделген байланыс

myMQTTClient = AWSIoTMQTTClient («DBpyAWS1116») myMQTTClient.configureEndpoint («a28rqf8gnpw7g.iot.us-west-2.amazonaws.com», 8883) myMQTTClient.configure/AeroCredentials/«-, «/home/linaro/shared/AWS/» SUA CHAVE «-private.pem.key», «/home/linaro/shared/AWS/» SEU CERTIFICADO «-certificate.pem.crt») myMQTTClient.configureOfflinePublishQueueing (- 1) # шексіз офлайн жариялау кезекте тұру myMQTTClient.configureDrainingFrequency (2) # Дренаж: 2 Гц myMQTTClient.configureConnectDisconnectTimeout (10) # 10 сек myMQTTClient.configureMQTTOperationTimeout (5) # 5 сек. MnQQntect (менің) coisajsb «,» қосылған «, 0)

########################

####### Көлеңке анықтамасы

# AWSIoTMQTTShadowClient бағдарламасын іске қосыңыз

myAWSIoTMQTTShadowClient = None myAWSIoTMQTTShadowClient = AWSIoTMQTTShadowClient («DBpyAWS1116») myAWSIoTMQTTShadowClient.configureEndpoint («СоЭС END-POINT.us-west-2.amazonaws.com», 8883) myAWSIoTMQTTShadowClient.configureCredentials («/ үй / linaro / бөлісті / АЖО / root- CA.crt «,»/home/linaro/shared/AWS/«SUA CHAVE» -private.pem.key «,»/home/linaro/shared/AWS/«SEU CERTIFICADO-certificate.pem.crt»)

# AWSIoTMQTTShadowClient конфигурациясыAAWSIoTMQTTShadowClient.configureAutoReconnectBackoffTime (1, 32, 20) myAWSIoTMQTTShadowClient.configureConnectDisconnectTimeout (10) # 5ThereTMTM

# AWS IoT -ке қосылыңыз

myAWSIoTMQTTShadowClient.connect ()

# Тұрақты жазылымы бар көлеңке құрылғысын жасаңыз

deviceShadowHandler = myAWSIoTMQTTShadowClient.createShadowHandlerWithName («DBpyAWS1116», True) shadowCallbackContainer_Bot = shadowCallbackContainer (deviceShadowHandler)

# Дельта тыңдаңыз

deviceShadowHandler.shadowRegisterDeltaCallback (shadowCallbackContainer_Bot.customShadowCallback_Delta)

#########################

myMQTTClient.publish («$ aws/things/DBpyAWS1116/shadow/update», '{«state»: {«хүссэн»: {«SystemStatus»: 1, «SisIlumi»: 0, «AC»: 0, «Garagem»): «Fechada», «Temperatura»: 25, «Luminosidade»: 123}}} ', 0)

егер _ аты _ == «_ негізгі _»:

GPIO (түйреуіштер) gpio ретінде: жүгіру (gpio)

6 -қадам: Қорытындылау

Қорытындылау
Қорытындылау

Icon, usando or comando Ionic қызмет көрсететін қосымшалардың атрибуты бойынша жүйелік және жүйелік операциялық жүйені іске қосу мүмкін емес.

Мүмкін болатын ақаулықтарды жою, MWTT клиенттерінің AWS-ті AWS-тің көмегімен тексеруі AWS Cloud-тің негізгі құралдарының бірі болып табылады:

Ұсынылған: