Мазмұны:
- 1 -қадам: Materias Necesários
- 2 -қадам: Sensores, Atuadores E Conexões
- 3 -қадам: Апликативті бақылаудың ремоты
- 4 -қадам: Criando Uma «coisa» Na AWS IoT
- 5 -қадам: Python бағдарламасы
- 6 -қадам: Қорытындылау
Бейне: Ақылды үйді бастау - Projeto Final: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Ақылды үйдің соңғы нұсқасы IoT бағдарламасының соңғы нұсқасы
Ақпараттық үйдің ақырғы нұсқасында ақылды үйдің ақысыз нұсқасы бар, ол ақылды үйге, DrangonBoard + Linker Mezzanine -ге арналған сенсорлық сенсорлармен, сонымен қатар компьютерлік байланыстармен қамтамасыз етілген. AWS -те бұлтты «ақпарат» туралы ақпарат бар. Бұл DragonBoard және IoT коммерциялық жүйелерінде, автоматты жүйелерде, машиналар мен датчиктерде, сенсорларда, компьютерлерде, компьютерлерде, компьютерлерде және компьютерлерде. -сенсор сенсорлы түрде орнатыла алмайды, бұл ақпараттың жеке меншігінде де бар, ол сіздің компьютеріңізде де бар.
1 -қадам: Materias Necesários
- DragonBoard тақтасын орналастырыңыз.
- 96Boards Linker Mezzanine
- Luminozidade сенсоры (LDR) байланыстырушы мезанинге қосылады.
- Байланыстырушы Mezzanine сенсоры.
- Байланыстырушы Mezzanine -ге сілтеме жасаңыз.
- A/C жүйесімен байланыстырушы байланыс құралымен байланыс орнатыңыз.
- Жарықдиодты байланыстырушы Mezzanine -ге қосылады, олар бір -бірімен байланысады.
- Пассивті емес кітапханаларды орнатыңыз 5.
2 -қадам: 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-тің негізгі құралдарының бірі болып табылады:
Ұсынылған:
STONE HMI дисплейінде үйді басқарудың ақылды жүйесін жасаңыз: 23 қадам
STONE HMI дисплейінде үйді басқарудың ақылды жүйесін жасаңыз: Жобаның кіріспесі Келесі оқулықта STONE STVC050WT-01 сенсорлы дисплей модулін қарапайым тұрмыстық техниканы басқару жүйесін жасау үшін пайдалану әдісі көрсетілген
Arduino басқару релесі модулін пайдаланып ақылды үйді қалай жасауға болады - Үйді автоматтандыру идеялары: 15 қадам (суреттермен)
Arduino басқару релесі модулін пайдаланып ақылды үйді қалай жасауға болады | Үйді автоматтандыру идеялары: Бұл үйді автоматтандыру жобасында біз 5 тұрмыстық техниканы басқара алатын ақылды үй реле модулін жасаймыз. Бұл реле модулін Мобильді телефоннан немесе смартфоннан, ИҚ қашықтан басқару пультінен немесе теледидардың қашықтан басқару пульті, Қолмен қосқыштан басқаруға болады. Бұл ақылды эстафета сонымен қатар сезеді
Үйді автоматтандыруды бастау: Үй көмекшісін орнату: 3 қадам
Үйді автоматтандыруды бастау: Үй көмекшісін орнату: Біз енді үйді автоматтандыру сериясын бастағалы жатырмыз, онда біз ақылды үй жасаймыз, ол бізге шамдарды, динамиктерді, сенсорларды және т. дауыс көмекшісі. Бұл жазбада біз қалай жазуды үйренеміз
Bluetooth көмегімен үйді автоматтандыру (ақылды тақта): 6 қадам
Bluetooth көмегімен үйді автоматтандыру (ақылды тақта): мұқият оқып шығыңыз. Үй автоматтандыруы тұрмыстық ортаның жабдықтарын автоматтандыруды қамтиды, соған қол жеткізу үшін біз смарт тақтаны жасадық, оны орнату оңай, ал бекітілген жабдықты смартфон қосымшасы арқылы басқаруға болады
[HASS.IO] Ақылды үйді кодтаусыз 100 доллардан аз бағамен құруды бастаңыз: 6 қадам
[HASS.IO] Ақылды үйді кодтаусыз 100 доллардан аз құруды бастаңыз: Жақында мен үйді босқа айналдырдым және өз үйімді «ақымақ» етіп жасадым. Сондықтан мен ақылды үй жүйесін қалай арзан бағамен, жоғары үйлесімділікпен, үздіксіз және тұрақты жұмыс жасайтынымен бөлісемін