def testCode5Case6x2(self):
        """subscribe invalid topic - no slash"""
        try:
            print('Code5Case6x2')   
            print("run helper...")
            code = str(53)
            args = ['python', 'helper.py', code]
            p = subprocess.Popen(args, cwd=(helper_dir))
            time.sleep(connect_worst_timeout)

            self.topic = "firstTopic"

            client.create(self.gearkey, self.gearsecret, self.appid)
            client.subscribe(self.topic)
       
            client.on_connect = MagicMock()
            client.on_message = MagicMock()
           
            client.connect()
            time.sleep(connect_timeout)
            self.assertTrue(client.on_connect.called)
            self.connected = True
            self.assertEqual(client.on_connect.call_count, 1)
            time.sleep(message_timeout)
            self.assertFalse(client.on_message.called)  
            p.kill()

                                    #if fails due to assertion error
        except Exception as e:
            p.kill()
            raise Exception(e.args)
def testCreateNetPieScopeName():
    gearkey, gearsecret, appid = testCreateNetPie1();
    client.create(gearkey, gearsecret, appid, {'debugmode' : True, 'scope' : "name:logger"})
    client.setname('logg')
    client.connect()
    print("Sleep for 90 seconds")
    time.sleep(90)
    def testCode4Case2(self):
        """chat with other microgear in same appid"""
        try:
            print('Code4Case2')  
            print("run helper...")
            code = str(31)
            args = ['python', 'helper.py', code]
            p = subprocess.Popen(args, cwd=(helper_dir))
            time.sleep(connect_worst_timeout)

            print("run main...")
            client.create(self.gearkey, self.gearsecret, self.appid)
            client.setalias(self.gearname)

            client.on_connect = MagicMock()
            
            client.connect()
            time.sleep(connect_timeout)

            self.assertTrue(client.on_connect.called)
            self.connected = True
            client.chat(self.helperGearname, self.message)
            time.sleep(message_timeout)
            r_file = open(receiver_file, "r")
            received_message = r_file.read()
            r_file.close()        
            if(received_message == self.message):
                self.received = True
            self.assertTrue(self.received)
            p.kill()
        #if fails due to assertion error
        except Exception as e:
            print("fail")
            raise Exception(e.args)
    def testCode8Case2(self):  
        """resettoken when have microgear.cache while microgear is offline"""
        self.assertTrue(os.path.isfile(os.path.join(os.getcwd()+"/microgear.cache")))

        self.assertIsNone(microgear.gearkey)
        self.assertIsNone(microgear.gearsecret)    
        self.assertIsNone(microgear.appid)
        
        client.create(self.gearkey, self.gearsecret, self.appid)
       
        client.on_connect = MagicMock()

        client.resettoken()
        self.assertFalse(os.path.isfile(os.path.join(os.getcwd()+"/microgear.cache")))
        client.connect()
        time.sleep(connect_timeout)
        self.assertTrue(client.on_connect.called)
        self.assertEqual(client.on_connect.call_count, 1)
        self.assertTrue(os.path.isfile(os.path.join(os.getcwd()+"/microgear.cache")))

    

# def main():
    # pass
#     #suite = unittest.TestSuite()
#     #suite.addTest(TestChat("testCode4Case2"))
#     #runner = unittest.TextTestRunner()
#     #runner.run(suite)
#     print(os.path.join(os.getcwd(),"microgear.cache"))    
#     unittest.main()

# if __name__ == '__main__':
#     main()    
    def testCode6Case1(self):  
        """unsubscribe the subscribed topic"""
        print('Code6Case1')
        try: 
            print("run helper...")
            code = str(51)
            args = ['python', 'helper.py', code]
            p = subprocess.Popen(args, cwd=(helper_dir))
            time.sleep(connect_worst_timeout)

            client.create(self.gearkey, self.gearsecret, self.appid)
           
            client.on_connect = MagicMock()
            client.on_message = MagicMock()
          
            client.connect()
            time.sleep(connect_timeout)
            self.assertTrue(client.on_connect.called)
            self.connected = True
            self.assertEqual(client.on_connect.call_count, 1) 

            client.subscribe(self.topic)
            time.sleep(message_timeout)
            self.assertTrue(client.on_message.called)
            client.unsubscribe(self.topic)
            client.on_message.reset_mock()
            self.assertFalse(client.on_message.called)
            time.sleep(message_timeout)
            self.assertFalse(client.on_message.called)
            p.kill()

        #if fails due to assertion error
        except Exception as e:
            p.kill()
            raise Exception(e.args) 
    def testCode6Case2(self):  
        """unsubscribe the topic before subscribe""" 
        print('Code6Case2')

        print(microgear.gearkey)
 
        try:
            print("run helper...")
            code = str(51)
            args = ['python', 'helper.py', code]
            p = subprocess.Popen(args, cwd=(helper_dir))
            time.sleep(connect_worst_timeout)
            print(microgear.gearkey)
            client.create(self.gearkey, self.gearsecret, self.appid)

            client.on_connect = MagicMock()
            client.on_message = MagicMock()
          
            client.connect()
            time.sleep(connect_timeout)
            self.assertTrue(client.on_connect.called)
            self.connected = True
            self.assertEqual(client.on_connect.call_count, 1) 
            self.assertFalse(client.on_message.called)
            client.unsubscribe(self.topic)
            self.assertFalse(client.on_message.called)
            client.subscribe(self.topic)
            time.sleep(message_timeout)
            self.assertTrue(client.on_message.called)
            client.on_message.assert_called_with(self.expectedTopic, self.expectedMessage)
            p.kill()

        except Exception as e:
            p.kill()
            raise Exception(e.args) 
def test():
    gearkey = "qnlgzsPUUxYeyQP"
    gearsecret = "1euJPvxybllEPQZzq2u9wpRJXDbjM7"
    appid = "testNo3"    
    if(os.path.isfile("microgear.cache")):
        f = open((os.getcwd() + "/microgear.cache"), 'r')
        print(f.readlines())
        f.close()  
    
    else:
        print("yes1")       
    client.create(gearkey, gearsecret, appid, {'debugmode': "True", 'scope': "chat:receiver"})
    client.setname("sender")
    if(os.path.isfile("microgear.cache")):
        f = open((os.getcwd() + "/microgear.cache"), 'r')
        print(f.readlines())
        f.close() 
    else:
        print("yes2")    
    client.connect()
    f = open((os.getcwd() + "/microgear.cache"), 'r')
    print(f.readlines())
    f.close()
    client.resettoken()
    if(os.path.isfile("microgear.cache")):
        f = open((os.getcwd() + "/microgear.cache"), 'r')
        print(f.readlines())
        f.close()
    else:
        print("yes3")
    def testCode5Case2(self):   
        """subscribe same topic twice"""
        try:
            print('Code5Case2')
            print("run helper...")
            code = str(51)
            args = ['python', 'helper.py', code]
            p = subprocess.Popen(args, cwd=(helper_dir))
            time.sleep(connect_worst_timeout)

            client.create(self.gearkey, self.gearsecret, self.appid)
            client.subscribe(self.topic)
            client.subscribe(self.topic)
            client.on_connect = MagicMock()
            client.on_message = MagicMock()
           
            client.connect()
            time.sleep(connect_timeout)
            self.assertTrue(client.on_connect.called)
            self.connected = True
            self.assertEqual(client.on_connect.call_count, 1)   

            time.sleep(message_timeout)
            self.assertTrue(client.on_message.called)
            client.on_message.assert_called_with(self.expectedTopic, self.expectedMessage)
            p.kill()
                            #if fails due to assertion error
        except Exception as e:
            p.kill()
            raise Exception(e.args)
def connectTo():
    gearkey = "qnlgzsPUUxYeyQP"
    gearsecret = "1euJPvxybllEPQZzq2u9wpRJXDbjM7"
    appid = "testNo3"    
    client.create(gearkey, gearsecret, appid, {'debugmode': "True"})
    
    def on_connected():
        print("connect")
    def on_closed():
        print("close")  
    def on_rejected():
        print("reject")     
    def on_error():
        print("error")  
    def on_message():
        print("message")  
    def on_present():
        print("present")
    def on_absent():
        print("absent") 
    client.on_connect = on_connected
    client.on_error = on_error
    client.on_present = on_present
    client.on_absent = on_absent
    client.on_rejected = on_rejected
    client.on_closed = on_closed
    client.on_message = on_message
    logs = LogCapture()
    client.connect()
    print(logs)
    logs.check(('root', 'DEBUG', 'Check stored token.'))
def testCreateNetPieLabel():
    gearkey, gearsecret, appid = testCreateNetPie1();
    client.create(gearkey, gearsecret, appid, {'label' : "Microgear Python"})
    client.setname('logg')
    client.connect()
    print("Sleep for 90 seconds")
    time.sleep(90)
Exemple #11
0
    def testCode7Case5(self):
        """publish invalid topic - no slash"""
        try:
            print("run helper...")
            code = str(61)
            args = ['python', 'helper.py', code]
            p = subprocess.Popen(args, cwd=(helper_dir))
            time.sleep(connect_worst_timeout)

            self.invalidTopic = "firstTopic"
            
            client.create(self.gearkey, self.gearsecret, self.appid)
           
            client.on_connect = MagicMock()
          
            client.connect()
            time.sleep(connect_timeout)
            self.assertTrue(client.on_connect.called)
            self.connected = True
            self.assertEqual(client.on_connect.call_count, 1)

            client.publish(self.invalidTopic, self.message)
            time.sleep(message_timeout)

            receiver_file = open(os.path.join(os.getcwd(),"receiver.txt"), "r")
            received_message = receiver_file.read()
            receiver_file.close()
            if(received_message == self.message):
                self.received = True
            self.assertFalse(self.received)
            self.assertTrue(client.on_connect.call_count > 1)
            p.kill()
        except Exception as e:
            p.kill()
            raise Exception(e.args) 
Exemple #12
0
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.peano_flag =None
        self.sensor = Sensor()
        self.setupUi(self)
        self.config = None
        self.capture = Capture(self)
        self.fileDiag = QFileDialog()
        self.img_path = None
        self.live_flag = None
        # self.thread_2 = self.v2_sl.value()
        # self.thread_1 = self.v1_sl.value()
        # self.tableWidget.setColumnCount(3)
        # self.tableWidget.resizeColumnsToContents()
        # self.tableWidget.resizeRowsToContents()

        self.start_cam_btn.clicked.connect(self.capture.startCapture)
        self.stop_cam_btn.clicked.connect(self.capture.endCapture)
        self.snap_btn.clicked.connect(self.snap_handler)
        self.exit_btn.clicked.connect(exit_handler)
        self.pick_btn.clicked.connect(self.get_file)
        self.detect_btn.clicked.connect(self.detect_api)
        self.detect_btn.setDisabled(True)
        # self.v1_sl.valueChanged.connect(self.v1_changed)
        # self.v2_sl.valueChanged.connect(self.v2_changed)

        # self.measure_btn.clicked.connect(self.measure)
        # self.count_btn.clicked.connect(self.count)

        self.circle_radio.toggled.connect(lambda: self.btnstate(self.circle_radio))
        self.unknow_radio.toggled.connect(lambda: self.btnstate(self.unknow_radio))
        self.livepreview.toggled.connect(lambda: self.btnstate(self.livepreview))
        self.peano_chk.toggled.connect(lambda: self.btnstate(self.peano_chk))


        self.object_type = None

        self.label.setAutoFillBackground(True)
        self.label.setText("Wait for Connection ..")
        self.label.setStyleSheet('color: blue')

        self.Timer = QTimer()
        self.Timer.timeout.connect(self.check_status)
        self.Timer.start(15000)

        self.gearkey = 'liLGrIH0WZdAKT0'  # key
        self.gearsecret = 'OfFLXs2NlqL3ecjkaClXhEUli'  # secret
        self.appid = 'ImageRaspi'
        try: # TODO : comment if don't need netpie.
            client.create(self.gearkey, self.gearsecret, self.appid, {'debugmode': True})
            client.on_connect = self.callback_connect
            client.setalias("doraemon")
            client.on_message = self.callback_message
            client.on_error = self.callback_error
            client.subscribe("/mails")
            client.connect()
        except Exception as e:
            pass
 def start_connect(self):
     self.mySignal.emit('load')
     client.setname("remote")
     client.setalias("pyqt")
     client.on_connect = self.connection
     client.on_message = self.subscription
     client.on_disconnect = self.disconnect
     client.subscribe("/remote")
     client.connect()
def testAlias():
    gearkey = "qnlgzsPUUxYeyQP"
    gearsecret = "1euJPvxybllEPQZzq2u9wpRJXDbjM7"
    appid = "testNo3"    

    client.create(gearkey, gearsecret, appid, {'debugmode': "True", 'alias': "Python"})
    client.connect()
    while True:
        pass
 def testConnectWillBlockFalse(self):
     self.connected = False
     def on_connected():
         self.connected = True
     client.on_connect = on_connected
     client.create(self.gearkey, self.gearsecret, self.appid, {'debugmode': "True"})   
     client.connect(False)
     timeout = time.time() + 30.0
     if(time.time() > timeout or self.connected):
         self.assertTrue(self.connected)
def testCreateNetPieConnection():
    gearkey, gearsecret, appid = testCreateNetPie1();
    client.create(gearkey, gearsecret, appid, {'debugmode' : False})
    
    def on_connection():
        print "I am connected"
    client.on_connect = on_connection
    print(client.on_connect == 0)
    client.connect()
    print("Sleep for 100 seconds")
    time.sleep(100)
def testCreateNetPieScopeChat():
    gearkey, gearsecret, appid = testCreateNetPie1();
    client.create(gearkey, gearsecret, appid, {'debugmode' : True, 'scope' : "chat:java ja"})
    client.setname('Python ja')
    client.connect()
    
    def receive_message(topic, message):
        print topic + " " + message
    
    while(True):
        client.chat('Html ka', "Hello html")
        time.sleep(3)
        client.on_message = receive_message
def testScopeChat():
    gearkey = "qnlgzsPUUxYeyQP"
    gearsecret = "1euJPvxybllEPQZzq2u9wpRJXDbjM7"
    appid = "testNo3"    

    client.create(gearkey, gearsecret, appid, {'debugmode': "True", 'scope': "chat:receiver"})
    client.setname("sender")
    client.connect()
    
    def receive_message(topic, message):
        print topic + " " + message
    
    while True:
        client.chat("not receiver","How are you?")
        time.sleep(3) 
def testCreateNetPieScopeW():
    gearkey = "ExhoyeQoTyJS5Ac"
    gearsecret = "gzDawaaHRe1KvQhepAw3WYuuGHjBsh"
    appid = "p107microgear"
    client.create(gearkey , gearsecret, appid, {'debugmode': True,'scope': "r:/LetsShare" })
    client.create(gearkey , gearsecret, appid, {'debugmode': True,'scope': "w:/LetsShare" })
    client.setname("Python ja")
    client.connect()
    
    def receive_message(topic, message):
        print topic + " " + message
    
    while True:
        client.publish("/StopsShare","Happy New Year!")
        time.sleep(3)
        client.on_message = receive_message
Exemple #20
0
 def testCode4Case1(self):
     """chat with itself"""   
     print('Code4Case1')
    
     client.create(self.gearkey, self.gearsecret, self.appid)
     client.setalias(self.gearname)
     client.on_message = MagicMock()
     client.on_connect = MagicMock()
     client.connect()
     time.sleep(connect_timeout)
     self.assertTrue(client.on_connect.called)
     self.connected = True
     client.chat(self.gearname, self.message)
     time.sleep(message_timeout)
     self.assertTrue(client.on_message.called)
     client.on_message.assert_called_once_with(self.expectedMsgTopic, self.expectedMessage)
def testChat():
    gearkey = "ExhoyeQoTyJS5Ac"
    gearsecret = "gzDawaaHRe1KvQhepAw3WYuuGHjBsh"
    appid = "p107microgear"

    origin = "oriA"
    destination = "destX"
    client.create(gearkey , gearsecret, appid, {'debugmode': True})
    client.setname(origin)
    client.connect()

    def receive_message(topic, message):
        print topic + " " + message

    while True:
        client.chat(destination,"Hello world.")
        time.sleep(3)
def onConnection():
    microgear.setalias("Raaspbery Pi - Python")
    microgear.on_connect = connection
    microgear.on_disconnect = disconnect
    microgear.on_message = subscription
    microgear.on_present = present
    microgear.on_absent = absent
    microgear.on_warning = warning
    microgear.on_info = info
    microgear.on_error = error
    microgear.subscribe("/token")
    microgear.subscribe("/refresh")
    microgear.subscribe("/settingStandard")
    microgear.subscribe("/settingDetails")
    microgear.subscribe("/controlDevices")
    microgear.subscribe("/alarm")
    microgear.connect()
def testResetToken():
    gearkey = "ExhoyeQoTyJS5Ac"
    gearsecret = "gzDawaaHRe1KvQhepAw3WYuuGHjBsh"
    appid = "p107microgear"
 
    client.create(gearkey , gearsecret, appid, {'debugmode': True})
    client.setname("Python ja")
    client.setname("Not Python ja")

    client.connect()
    
    def receive_message(topic, message):
        print topic + " " + message
    
    while True:     
        time.sleep(3)
        print("hello")
        client.on_message = receive_message
    def testCode8Case2(self):  
        """resettoken when have microgear.cache while microgear is offline"""
        #pre-requisite: ensure there is microgear.cache
  

        self.assertIsNone(microgear.gearkey)
        self.assertIsNone(microgear.gearsecret)    
        self.assertIsNone(microgear.appid)
        client.create(self.gearkey, self.gearsecret, self.appid, {'debugmode': True})
        client.connect(False)
        self.assertTrue(os.path.isfile(microgear_cache))
        #resettoken when have microgear.cache
        
        client.resettoken()

        time.sleep(4)
        #should delete microgear.cache
        self.assertFalse(os.path.isfile(microgear_cache))
def testChat():
    gearkey = "ExhoyeQoTyJS5Ac"
    gearsecret = "gzDawaaHRe1KvQhepAw3WYuuGHjBsh"
    appid = "p107microgear"

    gear_name = "not receiver"

    client.create(gearkey , gearsecret, appid, {'debugmode': True})
    client.setname(gear_name)
    client.connect()

    def receive_message(topic, message):
        print topic + " " + message

    while True:
        client.chat("not receiver", "hello")
        time.sleep(3)
        client.on_message = receive_message
Exemple #26
0
    def testCode5Case4(self):   
        """subscribe the topic that it publishes"""
        print('Code5Case4')
        client.create(self.gearkey, self.gearsecret, self.appid)
        client.subscribe(self.topic)
   
        client.on_connect = MagicMock()
        client.on_message = MagicMock()
       
        client.connect()
        time.sleep(connect_timeout)
        self.assertTrue(client.on_connect.called)
        self.connected = True
        self.assertEqual(client.on_connect.call_count, 1)

        client.publish(self.topic, self.message)
        time.sleep(message_timeout)
        self.assertTrue(client.on_message.called)
        client.on_message.assert_called_with(self.expectedTopic, self.expectedMessage)
Exemple #27
0
    def testCode4Case6(self):
        """chat with other microgear which shares the same gearname in different appid"""
        try:
            print('Code4Case6')
            print("run helper...")
            code = str(12)
            args = ['python', 'helper.py', code]
            p = subprocess.Popen(args, cwd=(helper_dir))
            time.sleep(connect_worst_timeout)   

            print("run main...")
            self.helperGearname = self.gearname

            client.create(self.gearkey, self.gearsecret, self.appid)
            client.setalias(self.gearname)

            client.on_connect = MagicMock()
            client.on_message = MagicMock()
            
            client.connect()
            time.sleep(connect_timeout)
            self.assertTrue(client.on_connect.called)
            self.connected = True
            client.chat(self.helperGearname, self.message)
            time.sleep(message_timeout)

            self.assertTrue(client.on_message.called)
            client.on_message.assert_called_once_with(self.expectedMsgTopic, self.expectedMessage)
            
            receiver_file = open(os.path.join(os.getcwd(),"receiver.txt"), "r")
            received_message = receiver_file.read()
            receiver_file.close()
            if(received_message == self.message):
                self.received = True
                
            self.assertFalse(self.received)
            p.kill()
                    #if fails due to assertion error
        except Exception as e:
            p.kill()
            raise Exception(e.args)
Exemple #28
0
    def testCode6Case5x1(self):  
        """unsubscribe the invalid topic - no slash"""
        try:
            print("run helper...")
            code = str(51)
            args = ['python', 'helper.py', code]
            p = subprocess.Popen(args, cwd=(helper_dir))
            time.sleep(connect_worst_timeout)

            self.invalidStr = "firstTopic"
     
            client.create(self.gearkey, self.gearsecret, self.appid)
           
            client.on_connect = MagicMock()
            client.on_message = MagicMock()
          
            client.connect()
            time.sleep(connect_timeout)
            self.assertTrue(client.on_connect.called)
            self.connected = True
            self.assertEqual(client.on_connect.call_count, 1)
            self.assertFalse(client.on_message.called)
            client.subscribe(self.topic)
            time.sleep(message_timeout)
            self.assertTrue(client.on_message.called)
            client.on_message.assert_called_with(self.expectedTopic, self.expectedMessage)

            client.on_message.reset_mock()
            self.assertFalse(client.on_message.called)

            client.unsubscribe(self.invalidStr)
            time.sleep(connect_timeout)
            self.assertTrue(client.on_message.called)
            client.on_message.assert_called_with(self.expectedTopic, self.expectedMessage)
            p.kill()
        except Exception as e:
            p.kill()
            raise Exception(e.args) 
    def testCode8Case3(self):  
        """resettoken twice"""

        self.assertIsNone(microgear.gearkey)
        self.assertIsNone(microgear.gearsecret)    
        self.assertIsNone(microgear.appid)

        client.create(self.gearkey, self.gearsecret, self.appid, {'debugmode': True})
        client.connect(False)
        self.assertTrue(os.path.isfile(microgear_cache))

        client.resettoken()
        self.assertFalse(os.path.isfile(microgear_cache))
        client.resettoken()
        self.assertFalse(os.path.isfile(microgear_cache))

        client.on_connect = MagicMock()
        #should not affect connect
        client.connect()
        time.sleep(connect_timeout)
        self.assertTrue(client.on_connect.called)
        self.assertEqual(client.on_connect.call_count, 1)
        self.assertTrue(os.path.isfile(microgear_cache))
Exemple #30
0
    def testCode4Case10(self):
        """chat to topic which has subscriber"""
        try:   
            print('Code4Case10')
            print("run helper...")
            code = str(61)
            args = ['python', 'helper.py', code]
            p = subprocess.Popen(args, cwd=(helper_dir))
            time.sleep(connect_worst_timeout)

            print("run main...")
            self.gearname = '/firstTopic'


            client.create(self.gearkey, self.gearsecret, self.appid)
            client.setalias(self.gearname)

            client.on_connect = MagicMock()
            client.connect()
            time.sleep(connect_timeout)
            self.assertTrue(client.on_connect.called)
            self.connected = True

            client.chat(self.helperGearname, self.message)
            time.sleep(message_timeout)

            receiver_file = open(os.path.join(os.getcwd(),"receiver.txt"), "r")
            received_message = receiver_file.read()
            receiver_file.close()
            if(received_message == self.message):
                self.received = True
            self.assertFalse(self.received)
            p.kill()
                            #if fails due to assertion error
        except Exception as e:
            p.kill()
            raise Exception(e.args)
Exemple #31
0
camera.resolution=(640,480)


this_name = 'n3a2'     
those_name = 'n3a1'
this_role = 'sender'
running = True
ready_to_send = False

netpie.setname(this_name)
netpie.on_reject = callback_reject
netpie.on_connect = connection
netpie.on_message = subscription
netpie.on_error = callback_error
netpie.subscribe("/test")
netpie.connect(False) 



if this_role=='sender':
 while not ready_to_send :
  netpie.chat(those_name,'ruok')
  time.sleep(2)
   
 snap_shot = snap()
 b64 = encode_base64(snap_shot)
 netpie.chat(those_name,b64)
 
 time.sleep(2)
else :
 
Exemple #32
0
import json
import microgear.client as client
import time

gearkey = "Djmh3H2yte6CIrW"
gearsecret = "43J9u4sJmMe34omGvLdu51JF74prLT"
appid = "NSC2016SEAH"

client.create(gearkey, gearsecret, appid)


def connection():
    print "Now I am connected with netpie"


def subscription(topic, message):
    print topic + " " + message
    with open('data.json', 'w') as outfile:
        data = '{\"value1\":" + float(message) +",\"value2\":300}'
        json.dump(data, outfile)


client.setalias("server")
client.on_connect = connection
client.on_message = subscription
client.subscribe("/Value")

client.connect(True)
key = 'application/key'
secret = 'application/secret'
app = 'application/name/appid'

netpie.create(key, secret, app, {'debugmode': True})


def connection():
    print "Now I am connected with netpie"


def subscription(topic, message):
    print topic + " " + message


netpie.setname("RPi")
netpie.on_connect = connection
netpie.on_message = subscription
netpie.subscribe("/mails")

netpie.connect()

# random.randint(0,100) instead of temperature
# random.randint(0,50) instead of Humidity

while True:
    netpie.chat("RPi",
                str(random.randint(0, 100)) + "," + str(random.randint(0, 50)))
    time.sleep(2)
        microgear.chat("outdoor/temp", json.dumps(itemlist))
        time.sleep(5)


def connection():
    logging.info("Now I am connected with netpie")


def subscription(topic, message):
    logging.info(topic + " " + message)


def disconnect():
    logging.debug("disconnect is work")


if __name__ == "__main__":
    microgear.setalias("MyRaspberryPI")
    microgear.on_connect = connection
    microgear.on_message = subscription
    microgear.on_disconnect = disconnect
    microgear.subscribe("/mails")
    microgear.connect(False)

    if (microgear.connected):
        itemlist, itemlist_key, CustomerAddress = RetreiveData()
        microgear.chat("outdoor/temp", json.dumps(itemlist))
        while True:
            ActivateCamera()
Exemple #35
0
    	left()
    elif message=="RIGHT":
    	right()

def right():
	myMotor.run(Adafruit_MotorHAT.BACKWARD)
	for i in range(255):
		print "RIGHT"+str(i)
		myMotor.setSpeed(i)
		time.sleep(0.001)

def left():
	myMotor.run(Adafruit_MotorHAT.FORWARD)
	for i in range(255):
		print "LEFT"+str(i)
		myMotor.setSpeed(i)
		time.sleep(0.001)


def stop():
	mode = 0
	turnOffMotors()

client.setname("remote")
client.setalias("raspberrypi")
client.on_connect = connection
client.on_message = subscription
client.subscribe("/remote2")

client.connect(True)
Exemple #36
0
appid = "ekaratnida"
gearkey = 'jtD9ag08syPtqiK'  # key
gearsecret = 'vDEEIuw9Ssj4OvbrBHmM4hZfa'  # secret

client.create(gearkey, gearsecret, appid,
              {'debugmode': True})  # สร้างข้อมูลสำหรับใช้เชื่อมต่อ

client.setalias("ekarat")  # ตั้งชื่้อ


def callback_connect():
    print("Now I am connected with netpie")


def callback_message(topic, message):
    print(topic, ": ", message)


def callback_error(msg):
    print("error", msg)


client.on_connect = callback_connect  # แสดงข้อความเมื่อเชื่อมต่อกับ netpie สำเร็จ
client.on_message = callback_message  # ให้ทำการแสดงข้อความที่ส่งมาให้
client.on_error = callback_error  # หากมีข้อผิดพลาดให้แสดง
client.subscribe(
    "/test"
)  # ชื่อช่องทางส่งข้อมูล ต้องมี / นำหน้า และต้องใช้ช่องทางเดียวกันจึงจะรับส่งข้อมูลระหว่างกันได้
client.connect(
    True
)  # เชื่อมต่อ ถ้าใช้ True เป็นการค้างการเชื่อมต่อclient.on_message= callback_message # ให้ทำการแสดงข้อความที่ส่งมาให้
Exemple #37
0
def main():

    global stateled1, stateled2, stateled3, r1, r2, r3
    while True:
        text = recognizer.recognize()
        if text is None:
            print('Sorry, I did not hear you.')
        else:
            print('You said "', text, '"')
            if 'เปิดไฟสีเหลือง' in text:
                led1._parse_state(aiy.voicehat.LED.ON, 0)
                stateled1 = '1'
                r1 = '0'
            elif 'ปิดไฟสีเหลือง' in text:
                led1._parse_state(aiy.voicehat.LED.OFF, 0)
                stateled1 = '0'
                r1 = '100'
            elif 'ไฟสีเหลืองกระพริบ' in text:
                led1._parse_state(aiy.voicehat.LED.BLINK, 0)
                stateled1 = '1'
                r1 = '100'
            elif 'หรี่ไฟสีเหลือง' in text:
                led1._parse_state(aiy.voicehat.LED.DIM, 90)
                stateled1 = '1'
                r1 = '90'
            elif 'เปิดไฟสีขาว' in text:
                led2._parse_state(aiy.voicehat.LED.ON, 0)
                stateled2 = '1'
                r2 = '0'
            elif 'ปิดไฟสีขาว' in text:
                led2._parse_state(aiy.voicehat.LED.OFF, 0)
                stateled2 = '0'
                r2 = '100'
            elif 'ไฟสีขาวกระพริบ' in text:
                led2._parse_state(aiy.voicehat.LED.BLINK, 0)
                stateled2 = '1'
                r2 = '0'
            elif 'หรี่ไฟสีขาว' in text:
                led2._parse_state(aiy.voicehat.LED.DIM, 90)
                stateled2 = '1'
                r2 = '90'
            elif 'เปิดไฟสีฟ้า' in text:
                led3._parse_state(aiy.voicehat.LED.ON, 0)
                stateled3 = '1'
                r3 = '0'
            elif 'ปิดไฟสีฟ้า' in text:
                led3._parse_state(aiy.voicehat.LED.OFF, 0)
                stateled3 = '0'
                r3 = '100'
            elif 'ไฟสีฟ้ากระพริบ' in text:
                led3._parse_state(aiy.voicehat.LED.BLINK, 0)
                stateled3 = '1'
                r3 = '0'
            elif 'หรี่ไฟสีฟ้า' in text:
                led3._parse_state(aiy.voicehat.LED.DIM, 0)
                stateled3 = '1'
                r3 = '90'
            elif 'turn on the Yellow Light' in text:
                led1._parse_state(aiy.voicehat.LED.ON, 0)
                stateled1 = '1'
                r1 = '0'
            elif 'turn off the Yellow Light' in text:
                led1._parse_state(aiy.voicehat.LED.OFF, 0)
                stateled1 = '0'
                r1 = '100'
            elif 'blink Yellow Light' in text:
                led1._parse_state(aiy.voicehat.LED.BLINK, 0)
                stateled1 = '1'
                r1 = '0'
            elif 'turn on the white Light' in text:
                led2._parse_state(aiy.voicehat.LED.ON, 0)
                stateled2 = '1'
                r2 = '0'
            elif 'turn off the white Light' in text:
                led2._parse_state(aiy.voicehat.LED.OFF, 0)
                stateled2 = '0'
                r2 = '100'
            elif 'blink white Light' in text:
                led2._parse_state(aiy.voicehat.LED.BLINK, 0)
                stateled2 = '1'
                r2 = '0'
            elif 'turn on the blue Light' in text:
                led3._parse_state(aiy.voicehat.LED.ON, 0)
                stateled3 = '1'
                r3 = '0'
            elif 'turn off the blue Light' in text:
                led3._parse_state(aiy.voicehat.LED.OFF, 0)
                stateled3 = '0'
                r3 = '100'
            elif 'blink blue Light' in text:
                led3._parse_state(aiy.voicehat.LED.BLINK, 0)
                stateled3 = '1'
                r3 = '0'
            elif 'dim The Yellow Light' in text:
                led1._parse_state(aiy.voicehat.LED.DIM, 90)
                stateled1 = '1'
                r1 = '90'
            elif 'dim The White Light' in text:
                led2._parse_state(aiy.voicehat.LED.DIM, 90)
                stateled2 = '1'
                r2 = '90'
            elif 'dim The Blue Light' in text:
                led3._parse_state(aiy.voicehat.LED.DIM, 90)
                stateled3 = '1'
                r3 = '90'

        if text is None:
            print('ไม่มีการส่งข้อมูล')
            microgear.chat(
                'RaspberryPI', 'You Said : " "/' + stateled1 + '/' +
                stateled2 + '/' + stateled3 + '/' + r1 + '/' + r2 + '/' + r3)
        elif 'Goodbye' in text:
            microgear.connect(False)
            break
        else:
            microgear.chat(
                'RaspberryPI',
                'You Said : " ' + text + ' "/' + stateled1 + '/' + stateled2 +
                '/' + stateled3 + '/' + r1 + '/' + r2 + '/' + r3)
Exemple #38
0
def callback_error(msg) :
    #print(msg)

def callback_reject(msg) :
   # print (msg)
    #print ("Script exited")
    exit(0)

def encode_base64(img_data):
 encoded = None

 try:
  #compress it first.
  compressed_data = zlib.compress(img_data.getvalue(),9)
  #encode it to base64 string
  encoded = base64.b64encode(compressed_data)  
 except:
  pass 
  
 return encoded
  
def decode_base64(compressed_b64str=None,save_to_file=None):
 
 try :
  #firstly, decode it
  decoded = base64.decodestring(compressed_b64str)
  decompr = zlib.decompress(decoded)
  
  #save it if is needed.
  if save_to_file is not None:
   with open(save_to_file,"wb") as fh:
    fh.write(decompr)
  else:
   #just display on screen
   w,h = 640,480
   image = Image.open(BytesIO(decompr))
   image.save('C:\\Users\\TO_MANG\\Documents\\testproject\\public\\test_snap.jpg')
   #image.show()
  
 except:  
  pass   


this_name = 'n3a1'     
those_name = 'n3a2'
this_role = 'receiver'
running = True
ready_to_receive = False 

netpie.setname(this_name)
netpie.on_reject = callback_reject
netpie.on_connect = connection
netpie.on_message = subscription
netpie.on_error = callback_error
netpie.subscribe("/test")
netpie.connect(False)


if this_role == 'receiver' :

 while running:           
   # print ("**** Search on receiver ****")
    time.sleep(2)
    pass
 #print ("End")
 
else :
 running = False 
#!/usr/bin/python3.5
import serial
import time
import microgear.client as microgear
appid=’xxxxxx’       # Application Id
key=’xxxxxxxxxx’ ​    # Application Device Key
secret=’xxxxxxxxxx’ ​ # Application Secret Key
microgear.create(key,secret,appid,{'debugmode': True})
Ser = serial.Serial(‘/dev/ttyS3’, 38400, stopbits=serial.STOPBITS_TWO, timeout=0.002)
While 1:
     ser.setBreak(True) ​ # Break for 1 Second
     time.sleep(1)
     ser.setBreak(False)
     ser.write(serial.to_bytes([ 0x54, 0x00, 0x30, 0x09, 0x00, 0x72 ])) ​ # Sending Hex
     time.sleep(0.07)
     x=ser.readline( ) ​ # Read the response
     y=int.from_bytes(x, byteorder=’big’) ​ # Convert the response to Integer
     print(y)
     microgear.setalias(“board”) ​ # Set Alias
     microgear.publish(“/bbb”, y, {‘retain’: True}) ​ # Publish to topic: bbb
     microgear.connect(True) ​ # Establish connection with NETPIE
Exemple #40
0

def connection():
    print("Now I am connected with netpie")


def subscription(topic, message):
    print(topic + " " + message)


client.setname("doraemon")
client.on_connect = connection
client.on_message = subscription
client.subscribe("/mails")

client.connect()

var1 = 0.0
var2 = 0.0

while True:
    #client.chat("doraemon","Hello world. "+str(int(time.time())))
    #time.sleep(2)

    db = pymysql.connect("localhost", "root", "009564", "Status")
    cursor = db.cursor()
    sql = "SELECT ec, ph FROM ecphCurrent WHERE id=1"
    try:
        cursor.execute(sql)
        result = cursor.fetchone()
        var1 = result[0]  # + random.uniform(0.0, 0.5) - 0.25
Exemple #41
0
    logging.info("Now I am connected with netpie")


def subscription(topic, message):
    logging.info(topic + " " + message)


def disconnect():
    logging.info("disconnected")


microgear.setalias("5735451")
microgear.on_connect = connection
microgear.on_message = subscription
microgear.on_disconnect = disconnect
microgear.connect()

while True:
    db = pymysql.connect("localhost", "root", "009564", "Status")
    cursor = db.cursor()
    sql = "SELECT ec, ph FROM ecphCurrent WHERE id=1"
    try:
        cursor.execute(sql)
        result = cursor.fetchone()
        value = result[0]
        otherValue = result[1]
    except:
        value = 0.0
        otherValue = 0.0

    result = (str(value) + "," + str(otherValue))
class StartWindows(QMainWindow):
    def __init__(self, camera=None, parent=None):
        super(StartWindows, self).__init__(parent=parent)
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.detections = None
        self.frame = None
        self.files = []
        self.tmp = []
        self.start = 0

        self.update_timer = QTimer()
        self.update_timer.timeout.connect(self.update)

        #User
        self.Qr_User = ""
        self.Point = 0

        #button
        self.ui.pushButton_2.clicked.connect(self.yolo_tiny)
        self.ui.pushButton.clicked.connect(self.stop)
        #camera
        self.camera = cv2.VideoCapture(0)
        self.update_timer.start(30)
        #qr
        self.qr = cv2.QRCodeDetector()
        '''
    def update2(self):
        self.update_timer2.start(30)
        ret,self.frame =self.camera.read()
        self.frame=cv2.flip(self.frame,1)
        cv2.imshow("img", img)  
        '''

    def connection():
        print("Now I am connected with netpie")

    def subscription(topic, message):
        logging.info(topic + " " + message)

    def disconnect():
        logging.debug("disconnect is work")

    appid = "ProjectOs"
    gearkey = "B0r3CNqaRtDjDf0"
    gearsecret = "qRjL4WFFGCZqXY6hkpHFKkLIx"
    client.create(gearkey, gearsecret, appid, {'debugmode': True})
    client.setname("doraemon")
    client.on_connect = connection
    client.on_message = subscription
    client.subscribe("/mails")

    client.connect()

    def yolo_tiny(self):

        self.start = 1

        self.execution_path = os.getcwd()
        self.detector = ObjectDetection()
        self.detector.setModelTypeAsTinyYOLOv3()
        self.detector.setModelPath(
            os.path.join(self.execution_path, "yolo-tiny.h5"))
        self.detector.loadModel(detection_speed="flash")
        print("###you are use yolo_tiny model###")

    def update(self):

        if (self.start == 0):
            print("QR")

            ret, self.frame = self.camera.read()

            decodedObjects = pyzbar.decode(self.frame)

            for obj in decodedObjects:
                if obj.data:

                    self.Qr_User = str(obj.data)
                    self.Qr_User = self.Qr_User[2:len(self.Qr_User) - 1]

            print(self.Qr_User)
            self.frame = cv2.flip(self.frame, 1)
            self.frame = cv2.resize(self.frame, (891, 501))
            height, width, channel = self.frame.shape
            bytesPerLine = 3 * width

            qImg = QImage(self.frame.data, width, height, bytesPerLine,
                          QImage.Format_RGB888).rgbSwapped()
            pixmap01 = QPixmap.fromImage(qImg)
            pixmap_image = QPixmap(pixmap01)
            self.ui.label.setPixmap(pixmap_image)
            self.ui.user_id.setText(self.Qr_User)

            self.ui.label.show()

        if (self.start == 1):
            ret, self.frame = self.camera.read()
            self.frame = cv2.flip(self.frame, 1)
            #detected
            custom_objects = self.detector.CustomObjects(bottle=True)
            detected_image_array, self.detections = self.detector.detectCustomObjectsFromImage(
                custom_objects=custom_objects,
                input_type="array",
                input_image=self.frame,
                output_type="array")
            for eachObject in self.detections:

                print(eachObject["name"], " : ",
                      (eachObject["percentage_probability"]), " : ",
                      eachObject["box_points"])

                if int(eachObject["percentage_probability"]) >= 50:
                    self.Point += 1
                    time.sleep(0.5)

                    print(self.Point)

            #resize

            detected_image_array = cv2.resize(detected_image_array, (891, 501))
            height, width, channel = detected_image_array.shape
            bytesPerLine = 3 * width

            qImg = QImage(detected_image_array.data, width, height,
                          bytesPerLine, QImage.Format_RGB888).rgbSwapped()
            pixmap01 = QPixmap.fromImage(qImg)
            pixmap_image = QPixmap(pixmap01)
            self.ui.label.setPixmap(pixmap_image)
            self.ui.user_id.setText(self.Qr_User)
            self.ui.user_point.setText(str(self.Point))

            self.ui.label.show()

    ''' 
    def score():
        d=self.detections
        for eachObject in d:
          
            if int(eachObject["percentage_probability"]) >=50 :
                self.Point+=1
                print(self.Point)
           '''

    def stop(self):
        #ส่งข้อมูลช่วงนี้ก่อนแล้วเคลียค่า
        print(self.Qr_User)
        print(self.Point)
        client.publish("/Point2", str(self.Point))
        client.publish("/Name", str(self.Qr_User))
        client.publish("/Mix", (str(self.Qr_User) + "," + str(self.Point)))

        self.start = 0
        self.Qr_User = ""
        self.Point = 0
        self.ui.user_point.setText(str(self.Point))
        print(self.Qr_User)
        print(self.Point)

    def start(self):
        self.update_timer.start(30)
Exemple #43
0
#	print(c)
    if t != 0 and h != 0 and c != 0:

        LINE_ACCESS_TOKEN = "EQLOgdnKBxTHyeWMqcm5ISg9vFPWE5BCKEDubnJC2PD"
        url = "https://notify-api.line.me/api/notify"

        mes = "Temperature1 = " + t + "\n"
        mes += "Humid = " + h + "\n"
        mes += "Temperature2 = " + c + "\n"

        data = ({'message': mes})
        #	data = ("t,h,c"}

        LINE_HEADERS = {"Authorization": "Bearer " + LINE_ACCESS_TOKEN}
        session = requests.Session()
        session.post(url, headers=LINE_HEADERS, data=data)
        print(t, h, c)
        exit()


def disconnect():
    print("disconnect is work")


microgear.setalias("LineNotify")
microgear.on_connect = connection
microgear.on_message = subscription
microgear.on_disconnect = disconnect
microgear.subscribe("/station1/#")
microgear.connect(True)
Exemple #44
0

def callback_connect():
    print("Now I am connected with netpie")


def callback_message(topic, message):
    print(topic, ": ", message)


def callback_error(msg):
    print(msg)


client.on_connect = callback_connect  # แสดงข้อความเมื่อเชื่อมต่อกับ netpie สำเร็จ
client.on_message = callback_message  # ให้ทำการแสดงข้อความที่ส่งมาให้
client.on_error = callback_error  # หากมีข้อผิดพลาดให้แสดง
client.subscribe(
    "/test"
)  # ชื่อช่องทางส่งข้อมูล ต้องมี / นำหน้า และต้องใช้ช่องทางเดียวกันจึงจะรับส่งข้อมูลระหว่างกันได้
client.connect(False)  # เชื่อมต่อ ถ้าใช้ False ไม่ค้างการเชื่อมต่อ

i = 0
while i < 10:
    print("send ", i)
    #client.chat("siripong","hello from Ekarat ") # ส่งข้อมูลไปให้ one
    client.publish("/test", "hello from Ekarat")
    time.sleep(1)  # หน่วงเวลาการส่งข้อมูล 3 วินาที
    i += 1

print("ok")