Semua Tentang Belajar Teknologi Digital Dalam Kehidupan Sehari - Hari

Selasa, 28 Juli 2020

[Mudah Belajar RasPi] Menghubungkan ke database MongoDB atlas



Kita lanjut penelusuran raspberry pi GPIO dengan input tombol yang masih menggunakan rangkaian 3 switch yang pernah kita bahas sebelumnya.


Interaksi dari GPIO kini akan kita gunakan untuk menyimpan angka yang ketika ada penekanan maka akan di "increment" dan ditampilkan pada grafik. Untuk itu kita gunakan MongoDB Atlas sebagai database gratis yang juga memiliki fasilitas grafik/chart.



Untuk merubah isi dari field pada database diatas kita bunakan perintah :


namaDB.namaCollection.find_one_and_update(query,value)


Jadi kita akan merubah nilai data satu dua atau tiga setiap kali penekanan tombol, gunakan script seperti berikut :



import RPi.GPIO as GPIO #library
import time
import pymongo
import json

#sesuaikan dengan client mongodb atlas kalian serta DB/Collection nya 
myclient = pymongo.MongoClient("mongodb+srv://user:password@cluster0-jb06l.mongodb.net/test?retryWrites=true&w=majority")
mydb = myclient["latihan"]
mycol = mydb["coba_tombol"]


GPIO.setmode(GPIO.BCM)

GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)#Button to GPIO17
GPIO.setup(27, GPIO.IN, pull_up_down=GPIO.PUD_UP)#Button to GPIO27
GPIO.setup(22, GPIO.IN, pull_up_down=GPIO.PUD_UP)#Button to GPIO22

######Update by increment database value######
def update_db(kolom):
     x= mycol.find_one_and_update({'judul':'coba'},{'$inc':{kolom:1}})
     print('update dbase :')
     print(x)
 
try:
    while True:
         button_state1 = GPIO.input(17)
         button_state2 = GPIO.input(27)
         button_state3 = GPIO.input(22)
         if button_state1 == False:
             print('Button 1 is Pressed...')
             update_db('satu')
         elif button_state2 == False:
             print('Button 2 is Pressed...')
             update_db('dua')
         elif button_state3 == False:
             print('Button 3 is Pressed...')
             update_db('tiga')
         time.sleep(0.2)
         
except:
    GPIO.cleanup()

    

Sangat simple sehingga kita bisa membuat grafik penekanan tombol seperti video berikut ini.





Share:

0 komentar:

Posting Komentar

Kontak Penulis



12179018.png (60×60)
+628155737755

Mail : ahocool@gmail.com

Site View

Categories

555 (8) 7 segmen (3) adc (4) amplifier (2) analog (19) android (12) antares (8) arduino (26) artikel (11) attiny (3) attiny2313 (19) audio (5) baterai (5) blog (1) bluetooth (1) chatgpt (2) cmos (2) crypto (2) dasar (46) digital (11) dimmer (5) display (3) esp8266 (25) euro2020 (13) gcc (1) iklan (1) infrared (2) Input Output (3) iot (58) jam (7) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (17) komputer (3) komunikasi (1) kontrol (8) lain-lain (8) lcd (2) led (14) led matrix (6) line tracer (1) lm35 (1) lora (7) MATV (1) memory (1) metal detector (4) microcontroller (70) micropython (6) mikrokontroler (1) mikrokontroller (14) mikrotik (5) modbus (9) mqtt (3) ninmedia (5) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (88) pcb (2) power (1) praktek (2) project (33) proyek (1) python (7) radio (24) raspberry pi (4) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (2) sharing (3) signage (1) sinyal (1) sms (6) software (18) solar (1) solusi (1) tachometer (2) technology (1) teknologi (2) telegram (2) telepon (9) televisi (167) television (28) transistor (2) troubleshoot (3) tulisan (93) tutorial (108) tv digital (6) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika