Posts: 236 
	Threads: 48 
	Joined: Nov 2015
	
 Reputation: 
 2
	 
 
	
	
		I'm trying to push data up to Azure IoT Hub and having some difficulties with the examples I've found on the forum and openrb.com so far. 
 
 
Does anyone have an example for connecting to Azure IoT Hub with MQTT?
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 236 
	Threads: 48 
	Joined: Nov 2015
	
 Reputation: 
 2
	 
 
	
	
		So no-one has successfully managed a connection towards Azure IoT Hub with LM/SL via MQTT? 
I've tried this:
 http://openrb.com/mqtt-client/#codesyntax_1
But it doesn't give me any feedback what's wrong, nothing in error log. I'm also doubting it's running at all, as log in between code that should be executed doesn't give results. In Microsofts cloud there are no indications of a connection.
	  
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 8422 
	Threads: 45 
	Joined: Jun 2015
	
 Reputation: 
 481
	 
 
	
	
		Can you send client id, MQTT username and password via PM? Info on username/password format:  https://docs.microsoft.com/en-us/azure/i...tt-support
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 236 
	Threads: 48 
	Joined: Nov 2015
	
 Reputation: 
 2
	 
 
 
	
	
	
		
	Posts: 8422 
	Threads: 45 
	Joined: Jun 2015
	
 Reputation: 
 481
	 
 
	
	
		Thanks! 
First, you need to update MQTT library packages:
 
New CPU:
 https://dl.openrb.com/pkg/libmosquitto_1...1_imx6.ipk
https://dl.openrb.com/pkg/luamosquitto_0.3-2_imx6.ipk
Old CPU:
 https://dl.openrb.com/pkg/libmosquitto_1.4.15-1_mxs.ipk
https://dl.openrb.com/pkg/luamosquitto_0.3-2_mxs.ipk
Here's a minimal example that you can use, don't forget to change device_id, broker, username and password parameters. You also need to upload azure.crt via FTP (using ftp username, upload to root directory). Certificate file contents:  https://gist.github.com/jsopenrb/5873b20...d6b950151f
Code: device_id = 'DEV_TEST' 
broker = 'DEV.azure-devices.net' 
port = 8883 
username = 'DEV.azure-devices.net/DEV_TEST' 
password = 'SharedAccessSignature ...' 
 
mqtt = require('mosquitto') 
client = mqtt.new(device_id) 
 
client.ON_CONNECT = function(...) 
  log('ON_CONNECT', ...) 
  client:publish('devices/' .. device_id .. '/messages/events/', '{id=456}') 
end 
 
client.ON_PUBLISH = function(...) 
  log('ON_PUBLISH', ...) 
end 
 
client.ON_LOG = function(...) 
  log('ON_LOG', ...) 
end 
 
client.ON_DISCONNECT = function(...) 
  log('ON_DISCONNECT', ...) 
end 
 
client:version_set(mqtt.PROTOCOL_V311) 
client:tls_set('/home/ftp/azure.crt') 
client:login_set(username, password) 
client:connect(broker, port) 
 
while true do 
  res, err, code = client:loop() 
  if not res then 
    log('loop error', res, err, code) 
    os.sleep(1) 
  end 
end
  
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 236 
	Threads: 48 
	Joined: Nov 2015
	
 Reputation: 
 2
	 
 
	
	
		Wow, brilliant! 
 
Thanks.  
 
Sent one more PM.
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 236 
	Threads: 48 
	Joined: Nov 2015
	
 Reputation: 
 2
	 
 
	
	
		I have tested this and it works just as expected. 
 
Thank you again for your kind help.
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 5 
	Threads: 0 
	Joined: Jan 2019
	
 Reputation: 
 0
	 
 
	
	
		Thanks for the info 
 
Can you give me information about how to load the azure.crt file? 
 
Thank you
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 8422 
	Threads: 45 
	Joined: Jun 2015
	
 Reputation: 
 481
	 
 
	
	
		Enable FTP server in System Config, then use ftp account and upload azure.crt to top level directory. Script has correct path set already.
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 5 
	Threads: 0 
	Joined: Jan 2019
	
 Reputation: 
 0
	 
 
	
	
		 (04.02.2019, 14:50)admin Wrote:  Enable FTP server in System Config, then use ftp account and upload azure.crt to top level directory. Script has correct path set already. regards
 
Sorry for the inconvenience. I can not load the azure.crt file in the directory
	  
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 8422 
	Threads: 45 
	Joined: Jun 2015
	
 Reputation: 
 481
	 
 
	
	
		You can save crt file via a script, run once. 
Code: crt = [[-----BEGIN CERTIFICATE----- 
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ 
RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD 
VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX 
DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y 
ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy 
VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr 
mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr 
IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK 
mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu 
XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy 
dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye 
jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 
BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 
DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 
9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx 
jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 
Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz 
ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS 
R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh 
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD 
QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT 
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j 
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG 
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB 
CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 
nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt 
43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P 
T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 
gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO 
BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR 
TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw 
DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr 
hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg 
06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF 
PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls 
YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk 
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF 
MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD 
bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha 
ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM 
HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB 
BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 
UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 
tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R 
ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM 
lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp 
/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G 
A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G 
A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj 
dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy 
MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl 
cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js 
L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL 
BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni 
acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 
o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K 
zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 
PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y 
Johw1+qRzT65ysCQblrGXnRl11z+o+I= 
-----END CERTIFICATE-----]] 
 
io.writefile('/home/ftp/azure.crt', crt)
  
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 5 
	Threads: 0 
	Joined: Jan 2019
	
 Reputation: 
 0
	 
 
	
		
		
		05.02.2019, 14:35 
(This post was last modified: 05.02.2019, 14:35 by Duvan2127.)
		
	 
	
		regards 
You can help me with the information required to send data to iot hub de azure. I'm using a logicmachine5 reactor to monitor variables related to electrical energy, I need to send and monitor them in the cloud.
 
Thank you
  
 (05.02.2019, 07:38)administración Wrote:  Puede guardar el archivo crt a través de un script, ejecútelo una vez. 
Code: crt = [[-----BEGIN CERTIFICATE----- 
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ 
RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD 
VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX 
DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y 
ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy 
VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr 
mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr 
IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK 
mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu 
XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy 
dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye 
jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 
BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 
DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 
9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx 
jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 
Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz 
ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS 
R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh 
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD 
QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT 
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j 
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG 
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB 
CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 
nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt 
43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P 
T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 
gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO 
BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR 
TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw 
DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr 
hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg 
06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF 
PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls 
YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk 
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF 
MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD 
bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha 
ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM 
HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB 
BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 
UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 
tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R 
ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM 
lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp 
/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G 
A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G 
A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj 
dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy 
MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl 
cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js 
L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL 
BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni 
acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 
o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K 
zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 
PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y 
Johw1+qRzT65ysCQblrGXnRl11z+o+I= 
-----END CERTIFICATE-----]] 
 
io.writefile('/home/ftp/azure.crt', crt)
  
Gracias por la info 
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 8422 
	Threads: 45 
	Joined: Jun 2015
	
 Reputation: 
 481
	 
 
	
	
		Here'se a scheduled script that forms a JSON-encoded string with object values and then pushes them to Azure, then disconnects: 
Code: require('json') 
 
data = json.encode({ 
  obj1 = grp.getvalue('32/1/1'), 
  obj2 = grp.getvalue('32/1/2'), 
}) 
 
device_id = 'DEV_TEST' 
broker = 'DEV.azure-devices.net' 
port = 8883 
username = 'DEV.azure-devices.net/DEV_TEST' 
password = 'SharedAccessSignature ...' 
 
mqtt = require('mosquitto') 
client = mqtt.new(device_id) 
running = true 
 
client.ON_CONNECT = function(stat, code, err) 
  if stat then 
    client:publish('devices/' .. device_id .. '/messages/events/', data) 
  else 
    log('mqtt connect error', err, code) 
  end 
 
  client:disconnect() 
  running = false 
end 
 
client:version_set(mqtt.PROTOCOL_V311) 
client:tls_set('/home/ftp/azure.crt') 
client:login_set(username, password) 
res, err = client:connect(broker, port) 
 
if not res then 
  log('mqtt initial connect error', err) 
  running = false 
end 
 
if res then 
  while running do 
    res, err, code = client:loop() 
 
    if not res then 
      if running then 
        log('mqtt loop error', err, code) 
      end 
 
      break 
    end 
  end 
else 
  log('mqtt connection failed', err) 
end
  
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 5 
	Threads: 0 
	Joined: Jan 2019
	
 Reputation: 
 0
	 
 
	
	
		 (07.02.2019, 09:04)administración Wrote:  Here'se a scheduled script that forms a JSON-encoded string with object values and then pushes them to Azure, then disconnects: 
 
Code: require('json') 
 
data = json.encode({ 
  obj1 = grp.getvalue('32/1/1'), 
  obj2 = grp.getvalue('32/1/2'), 
}) 
 
device_id = 'DEV_TEST' 
broker = 'DEV.azure-devices.net' 
port = 8883 
username = 'DEV.azure-devices.net/DEV_TEST' 
password = 'SharedAccessSignature ...' 
 
mqtt = require('mosquitto') 
client = mqtt.new(device_id) 
running = true 
 
client.ON_CONNECT = function(stat, code, err) 
  if stat then 
    client:publish('devices/' .. device_id .. '/messages/events/', data) 
  else 
    log('mqtt connect error', err, code) 
  end 
 
  client:disconnect() 
  running = false 
end 
 
client:version_set(mqtt.PROTOCOL_V311) 
client:tls_set('/home/ftp/azure.crt') 
client:login_set(username, password) 
res, err = client:connect(broker, port) 
 
if not res then 
  log('mqtt initial connect error', err) 
  running = false 
end 
 
if res then 
  while running do 
    res, err, code = client:loop() 
 
    if not res then 
      if running then 
        log('mqtt loop error', err, code) 
      end 
 
      break 
    end 
  end 
else 
  log('mqtt connection failed', err) 
end
  
thanks for the info 
 
With this code I could not connect to azureiotcentral.
apps.azureiotcentral.com
	  
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 8422 
	Threads: 45 
	Joined: Jun 2015
	
 Reputation: 
 481
	 
 
	
	
		You need specify correct device_id, broker, username and password parameters. Follow this guide:  https://docs.microsoft.com/en-us/azure/i...tt-support
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 49 
	Threads: 14 
	Joined: Dec 2016
	
 Reputation: 
 0
	 
 
	
	
		Hi, 
 
I'm having trouble to connect to IoTCentral too. Is it possible to use this to IoTCentral or just with IoTHub?
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 427 
	Threads: 99 
	Joined: Jun 2015
	
 Reputation: 
 46
	 
 
	
	
		Duvan2127 has contacted Microsoft support in this matter. Here is a reply from MS. Maybe  Duvan2127  can provide further comments or tests done for this?
 Step 1 : Get Connection string from the tool. It will give to Hub name 
Example
 
C:\Users\anhashia\AppData\Roaming\npm\node_modules\dps-keygen\bin\windows>dps_cstr 0ne000475B9 mydevice ********************
 
...
 
Registration Information received from service: iotc-3d8d214e-281d-454a-9c7d-259fd8bb49ed.azure-devices.net!
 Connection String: 
HostName=iotc-3d8d214e-281d-454a-9c7d-259fd8bb49ed.azure-devices.net;DeviceId=mydevice;SharedAccessKey=**************
 
Once you have connection string, you can put in IoT SDK and you are good to go,
 https://docs.microsoft.com/en-us/azure/i...-telemetry
Step 2:  Fill below paraments from Step 1  Example.
    broker: iotc-3d8d214e-281d-454a-9c7d-259fd8bb49ed.azure-devices.net
    port : 8883
    device_id: mydevice
    username:  iotc-3d8d214e-281d-454a-9c7d-259fd8bb49ed.azure-devices.net/mydevice/api-version=2016-11-14 
   password:  This you will need to generate  https://docs.microsoft.com/en-us/azure/i...ity-tokens.  It has code snippet.
  
Step #5, you need to write code to generate SAS token.
	  
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 236 
	Threads: 48 
	Joined: Nov 2015
	
 Reputation: 
 2
	 
 
	
	
		The certificate we use here. Does it need to renewed at some point, or is it permanent the way it is?
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 8422 
	Threads: 45 
	Joined: Jun 2015
	
 Reputation: 
 481
	 
 
	
	
		One of the certificates in the chain is valid until 2025, others even more. You view certificate info here by pasting certificate data:  https://www.sslshopper.com/certificate-decoder.html
	 
	
	
	
		
	 
 
 
	
	
	
		
	Posts: 236 
	Threads: 48 
	Joined: Nov 2015
	
 Reputation: 
 2
	 
 
	
	
		Ok - thank you for the info. 
 
Have you developed any update mechanism on your end that you would like to share, or should we just write one ourselves?
	 
	
	
	
		
	 
 
 
	 
 |