xHasKx / luamqtt

luamqtt - Pure-lua MQTT v3.1.1 and v5.0 client
https://xhaskx.github.io/luamqtt/
MIT License
154 stars 41 forks source link

Issue use in Corona SDK #4

Closed inforaudio closed 1 year ago

inforaudio commented 5 years ago

Hello: Im try to using in Corona SDK and show a a error

loop or previous error loading module 'mqtt.bit' 12:55:47.955 stack traceback: 12:55:47.955 [C]: in function 'require' 12:55:47.955 ?: in function <?:820> 12:55:47.955 (tail call): ? 12:55:47.955 [C]: in function 'require' 12:55:47.955 ?: in function <?:820> 12:55:47.955 (tail call): ? 12:55:47.955 [C]: in function 'require' 12:55:47.955 ?: in function 'require'

do you know why it?

xHasKx commented 5 years ago

Hello, it may be caused by non-standard behavior of require() function in your Corona SDK lua runtime. When executing local bit = require("mqtt.bit") from protocol.lua it's loading module mqtt/bit.lua. Then mqtt/bit.lua detected Lua version as < Lua 5.3 and then executing return require("bit").

And here is non-standard behavior occurs - on standard Lua it should find system-wide installed package named "bit", but your runtime is trying to load the same module mqtt/bit.lua, which is causing a module loading loop error.

You may try a hotfix:

  1. rename mqtt/bit.lua file to mqtt/bit_wrapper.lua
  2. replace its loading everywhere in other files like protocol.lua in this manner: local bit = require("mqtt.bit_wrapper")

If this will work - please post here and I'll make same change in this repository.

inforaudio commented 5 years ago

if change the name of mqtt/bit.lua by mqtt/bit_wrapper.lua In line 28 of protocol.lua try to charge mqtt/bit_wrapper.lua and the file mqtt/bit_wrapper.lua

if _VERSION == "Lua 5.1" or _VERSION == "Lua 5.2" or type(jit) == "table" then return require("mqtt.bit") else return require("mqtt.bit53") end

To to find mqtt.bit and thow this error

22:01:12.792 module 'mqtt.bit' not found: 22:01:12.792 no field package.preload['mqtt.bit'] 22:01:12.792 no file 'C:\Users\Pablo\AppData\Roaming\Corona Labs\Corona Simulator\Plugins\mqtt\bit.lua' 22:01:12.792 no file 'C:\Users\Pablo\Documents\Corona Projects\mqttluassl\mqtt\bit.lua' 22:01:12.792 no file 'C:\Program Files (x86)\Corona Labs\Corona\Resources\mqtt\bit.lua' .......... 22:01:12.792 (tail call): ? 22:01:12.792 [C]: in function 'require' 22:01:12.792 ?: in function 'require' 22:01:12.792 C:\Users\Pablo\Documents\Corona Projects\mqttluassl\mqtt\protocol.lua:28: in main chunk 22:01:12.792 [C]: in function 'require' 22:01:12.792 ?: in function 'require' 22:01:12.792 C:\Users\Pablo\Documents\Corona Projects\mqttluassl\mqtt\init.lua:30: in main chunk 22:01:12.792 [C]: in function 'require' 22:01:12.792 ?: in function 'require' 22:01:12.792 C:\Users\Pablo\Documents\Corona Projects\mqttluassl\main.lua:11: in main chunk

inforaudio commented 5 years ago

The more logic is that the file mqtt/bit.lua causing a module loading loop error. Would be comment return require("mqtt.bit") in file bit.lua for try to dont charge again..

if _VERSION == "Lua 5.1" or _VERSION == "Lua 5.2" or type(jit) == "table" then --return require("mqtt.bit") else return require("mqtt.bit53") end

But if made it show a error

C:\Users\Pablo\Documents\Corona Projects\mqttluassl\mqtt\protocol.lua:41: attempt to index local 'bit' (a boolean value) 22:06:36.237 stack traceback: 22:06:36.237 C:\Users\Pablo\Documents\Corona Projects\mqttluassl\mqtt\protocol.lua:41: in main chunk 22:06:36.237 [C]: in function 'require' 22:06:36.237 ?: in function 'require' 22:06:36.237 C:\Users\Pablo\Documents\Corona Projects\mqttluassl\mqtt\init.lua:30: in main chunk 22:06:36.237 [C]: in function 'require' 22:06:36.237 ?: in function 'require' 22:06:36.237 C:\Users\Pablo\Documents\Corona Projects\mqttluassl\main.lua:11: in main chunk

inforaudio commented 5 years ago

i forget it.. Thanks so much by you help

xHasKx commented 5 years ago

Should be fixed in version 1.4.3-3

inforaudio commented 5 years ago

Im sorry but we continue with problem. I`m testing the new version of library and have this problem

***** Version Lua 5.1 12:08:56.859 ERROR: Runtime error 12:08:56.859 module 'bit' not found: 12:08:56.859 no field package.preload['bit'] 12:08:56.859 no file 'C:\Users\Pablo\AppData\Roaming\Corona Labs\Corona Simulator\Plugins\bit.lua' 12:08:56.859 no file 'C:\Users\Pablo\Desktop\MQQT_PRO\bit.lua' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\Resources\bit.lua' 12:08:56.859 no file '.\bit.lua' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\lua\bit.lua' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\lua\bit\init.lua' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\bit.lua' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\bit\init.lua' 12:08:56.859 no file 'C:\Users\Pablo\AppData\Roaming\Corona Labs\Corona Simulator\Plugins\bit.dll' 12:08:56.859 no file '.\bit.dll' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\Resources\bit.dll' 12:08:56.859 no file '.\bit.dll' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\bit.dll' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\loadall.dll' 12:08:56.859 no file 'C:\Users\Pablo\AppData\Roaming\Corona Labs\Corona Simulator\Plugins\bit.dll' 12:08:56.859 no file '.\bit.dll' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\Resources\bit.dll' 12:08:56.859 no file '.\bit.dll' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\bit.dll' 12:08:56.859 no file 'C:\Program Files (x86)\Corona Labs\Corona\loadall.dll' 12:08:56.859 stack traceback: 12:08:56.859 [C]: in function 'require' 12:08:56.859 ?: in function <?:820> 12:08:56.859 (tail call): ? 12:08:56.859 [C]: in function 'require' 12:08:56.859 ?: in function 'require' 12:08:56.859 C:\Users\Pablo\Desktop\MQQT_PRO\mqtt\protocol.lua:28: in main chunk 12:08:56.859 [C]: in function 'require' 12:08:56.859 ?: in function 'require' 12:08:56.859 C:\Users\Pablo\Desktop\MQQT_PRO\mqtt\init.lua:30: in main chunk 12:08:56.859 [C]: in function 'require' 12:08:56.859 ?: in function 'require' 12:08:56.859 C:\Users\Pablo\Desktop\MQQT_PRO\main.lua:9: in main chunk

In bitwrap.lua, if _version is Lua 5.1 require = "bit" ,, but the file bit dont exist?'

What can i do?

xHasKx commented 5 years ago

inforaudio, in version 1.4.3-3 I've fixed the possible module loading loop, but you still need to be installed module LuaBitOp as you are using Lua v5.1 That's clearly listed in Dependencies section in the README.md

inforaudio commented 5 years ago

Ok, so much thanks. I try it and we have runing the simple.lua example.
But we need to connecto by ssl, port 8883. I add the luasec library how we can read in README.. I see that example of how connect in /test/spec/mqqt-client. and we try it, but i have a problem

In main.lua. We use it: local client = mqtt.client{ debug = client_debug, uri = "mqtt.flespi.io", ssl = true, clean = true, auth = {username = "stPwSVV73Eqw5LSv0iMXbc4EguS7JyuZR9lxU5uLxI5tiNM8ToTVqNpu85pFtJv9"}, } for example, and show the next error..

21:44:36.520 ERROR: Runtime error 21:44:36.520 module 'ssl' not found: 21:44:36.520 no field package.preload['ssl'] 21:44:36.520 no file 'C:\Users\Pablo\AppData\Roaming\Corona Labs\Corona Simulator\Plugins\ssl.lua' 21:44:36.520 no file 'C:\Users\Pablo\Desktop\MQQT_PRO\ssl.lua' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\Resources\ssl.lua' 21:44:36.520 no file '.\ssl.lua' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\lua\ssl.lua' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\lua\ssl\init.lua' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\ssl.lua' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\ssl\init.lua' 21:44:36.520 no file 'C:\Users\Pablo\AppData\Roaming\Corona Labs\Corona Simulator\Plugins\ssl.dll' 21:44:36.520 no file '.\ssl.dll' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\Resources\ssl.dll' 21:44:36.520 no file '.\ssl.dll' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\ssl.dll' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\loadall.dll' 21:44:36.520 no file 'C:\Users\Pablo\AppData\Roaming\Corona Labs\Corona Simulator\Plugins\ssl.dll' 21:44:36.520 no file '.\ssl.dll' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\Resources\ssl.dll' 21:44:36.520 no file '.\ssl.dll' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\ssl.dll' 21:44:36.520 no file 'C:\Program Files (x86)\Corona Labs\Corona\loadall.dll' 21:44:36.520 stack traceback: 21:44:36.520 [C]: in function 'require' 21:44:36.520 ?: in function 'require' 21:44:36.520 C:\Users\Pablo\Desktop\MQQT_PRO\mqtt\luasocket_ssl.lua:6: in main chunk 21:44:36.520 [C]: in function 'require' 21:44:36.520 ?: in function 'require' 21:44:36.520 C:\Users\Pablo\Desktop\MQQT_PRO\mqtt\init.lua:107: in function 'init' 21:44:36.520 C:\Users\Pablo\Desktop\MQQT_PRO\mqtt\init.lua:600: in function 'client' 21:44:36.520 C:\Users\Pablo\Desktop\MQQT_PRO\main.lua:24: in main chunk

What is the problem?? What is the package.preload['ssl']??

We use in main.lua local openssl = require('plugin.openssl') local socket = require('socket') local http = require('socket.http') local ltn12 = require('ltn12') local plugin_luasec_ssl = require('plugin_luasec_ssl') local crypto = require "crypto"

xHasKx commented 5 years ago

If I get it right, Corona SDK has its own module to wrap raw socket into SSL connection - the require('plugin_luasec_ssl') according this: https://github.com/coronalabs/plugins-sample-openssl/blob/master/luasec/main.lua#L54

And my luamqtt module has ability to abstract network connectivity layer from MQTT logic using so called connectors, see here how it works with luasec module: https://github.com/xHasKx/luamqtt/blob/master/mqtt/luasocket_ssl.lua#L21

So again, if I get it right, you just need to replace local ssl = require("ssl") with local ssl = require('plugin_luasec_ssl') in that luasocket_ssl.lua file in your installation and SSL should work.

Please return back here and post if it will work. In that case I may implement such module variation inside my standard luasocket_ssl.lua module.

inforaudio commented 5 years ago

First Thanks for all your help . Now with this changes, run properly, connect by mqtt server by 8883 port, publish and received message, but we have a problem

When connect to the server MQTT (client:receive_iteration() or client:receive_loop()) block the simulator and it only can received messages, cant made nothing more. We made a code where put a button and print at console the hour each 500 millis.

When connect to server, only wait news messages and dont show hour and the button dont run. If remove while client.connection do -- or just assert(client:receive_loop()) assert(client:receive_iteration()) end Go perfect. And if stop the Mqtt server same, all run perfect (of course we did not receive messages) But when are connect to Mqtt server the simulator block and only waiting for new message

the code is:

local bitLib = require( "plugin.bit" ) local mqtt = require("mqtt.init") local openssl = require('plugin.openssl') local socket = require('socket') local http = require('socket.http') local ltn12 = require('ltn12')

-- create mqtt client local client = mqtt.client{ debug = client_debug, uri = "192.168.0.182", id="APP", ssl = true, clean = true, } print(client)

assert(client:connect()) print("connected")

assert(client:subscribe{ topic = "saludo", qos = 0, }) print("subscribed")

client:on("message", function(msg) print("received message", msg) --client:disconnect() end)

while client.connection do -- or just assert(client:receive_loop()) assert(client:receive_iteration()) end

function mostrar_hora () print (" hora: " .. system.getTimer()/1000) end mostrar_hora_timer =timer.performWithDelay(500, mostrar_hora, -1)

function boton () print (" boton pulsado : hora " .. system.getTimer()/1000)
end

botonauto=display.newText( "Automatico", 183, 200 ,"mifuente.otf", 33) botonauto:setFillColor(0.08,0.31,0.51) botonauto:addEventListener( "touch", boton )

print("done")

What can i do?? how i should connect to server?

xHasKx commented 5 years ago

inforaudio,

That's because of reading and sending to socket is a blocking operation by default. There is a 2 possible solutions here - running luamqtt receive/send loop in separate OS thread, or using non-blocking sockets. 1st seems to be not applicable to Corona SDK and for the second I googled an example to test:

http://web-c2.anscamobile.com/forum/2011/06/06/code-snippet-how-do-non-blocking-multiplexed-raw-socket-transmission

inforaudio commented 5 years ago

Im sorry bu ,try to adapt to use with MQTT but I do not see form. My knowledge does not reach as much So in the comment of this example, some people ask that dont run properly. Is possible?

xHasKx commented 5 years ago

inforaudio, in last version 1.4.6 you may specify correct ssl module name for your Corona SDK environment like this:

local client = mqtt.client{
    uri = ...
    ssl = true,
    ssl_module = "plugin_luasec_ssl",
}
xHasKx commented 5 years ago

inforaudio, according your last issue with blocking - you need to test something like this:

  1. set socket to non-blocking mode afther that line: https://github.com/xHasKx/luamqtt/blob/master/mqtt/luasocket_ssl.lua#L33

    conn.sock:settimeout(0)
  2. start a timer using your Corona SDK api in a way like this:

    timer.performWithDelay(20, function() assert(client:receive_iteration()) end, 0) -- try to receive every 20 msec
  3. do not start receive loop (client:receive_loop()) for the client

So your app will not be blocked when waiting to packets from MQTT broker.

But it's producing another issues:

  1. you have to create some logic to re-connect to broker when your connection is lost
  2. clients usually have to periodically send PING-packets to the broker ensuring connection is alive
inforaudio commented 5 years ago

Hello: Thanks for your help , but we cant understand what can i do.

We do not know what to look for or what to expect and we do not know the methods or functions of the library. We also do not know why it is blocked waiting for messages etc.. Our knowledge reaches not so much.

we can try to connect check message and disconnect, but we dont want that the client are always connect and disconnect. I think that is no the way

inforaudio commented 5 years ago

actually my code is it..

-- create mqtt client local client = mqtt.client{ debug = client_debug, uri = "158.255.238.138", id="APP", ssl = true, clean = true, ssl_module = "plugin_luasec_ssl", } print(client) assert(client:connect()) print("connected") assert(client:subscribe{ topic = "saludo", qos = 0, }) print("subscrito")

client:on("message", function(msg) print("received message", msg) --client:disconnect() end)

timer.performWithDelay(20, function() assert(client:receive_iteration()) end, 0) -- try to receive every 20 msec

function mostrar_hora () print (" hora: " .. system.getTimer()/1000) end mostrar_hora_timer =timer.performWithDelay(500, mostrar_hora, -1)

xHasKx commented 5 years ago

Try to add client.connection.sock:settimeout(0) just after subscription

inforaudio commented 5 years ago

Thanks for answer, but nothing..

over the last code we add client.connection.sock:settimeout(0) after subscribe..

assert(client:subscribe{ topic = "saludo", qos = 0, }) print("subscrito") client.connection.sock:settimeout(0)

But nothing..

ERROR: Runtime error 11:08:17.932 C:\Users\Pablo\Desktop\MQQT_PRO\main.lua:45: waiting for the next packet failed: wantread 11:08:17.932 stack traceback: 11:08:17.932 [C]: in function 'assert' 11:08:17.932 C:\Users\Pablo\Desktop\MQQT_PRO\main.lua:45: in function '_listener'

in Line 45 timer.performWithDelay(20, function() assert(client:receive_iteration()) end, 0) -- try to receive every 20 msec

inforaudio commented 5 years ago

Can you made a simple example of how connect and manage MQTT SSL with this library? without block the program?

xHasKx commented 5 years ago

inforaudio, check this for SSL But still - it will not work without blocking irrespective of SSL on or off

If I'll have few free days - I'll try to find a way to adapt luamqtt to non-blocking sockets using some io loop, which may be replaced by Corona SDK timers

inforaudio, in last version 1.4.6 you may specify correct ssl module name for your Corona SDK environment like this:

local client = mqtt.client{
    uri = ...
    ssl = true,
    ssl_module = "plugin_luasec_ssl",
}
inforaudio commented 5 years ago

Thanks so much for your help.

Yes we use ..... local client = mqtt.client{ debug = client_debug, uri = "192.168.0.167", id="APP", ssl = true, clean = true, ssl_module = "plugin_luasec_ssl", }

The conection is correct publish and received message, but the app keep blocked.. Only wait fo recevied message. when connect , only can liberate by a message received with

client:on("message", function(msg) print("received message", msg) client:disconnect() end)

Else keep connect and blocked the app

xHasKx commented 5 years ago

@inforaudio, I've rolled out the new v2.0.0 version of this lib with in-house ioloop implementation. I think now you may use it in your Corona SDK environment.

The main idea of ioloop that it's "processing" created MQTT client in a infinity loop. But it's blocking the OS thread, so you may use the timers provided by Corona SDK to emulate a infinity loop, like this:

local mqtt = require("mqtt")
local ioloop = require("mqtt.ioloop")

-- create and configure MQTT client
local client = mqtt.client{...}
client:on{...}

-- add your MQTT client to ioloop
local loop = ioloop.get()
loop:add(client)

-- and run ioloop iterations in timer instead of infinity loop
timer.performWithDelay(10, function() loop:iteration() end, 0)

Also please note that a lot of argumetns and some methods was changed. For example, now ssl=true should be replaced with secure=true in MQTT client construction arguments. See examples/simple.lua

Please post here a feedback and close issue

sgetecnology commented 4 years ago

non funziona

xHasKx commented 3 years ago

non funziona

A lot of things changed since version 2.0. @sgetecnology , can you please provide more info about what you've tried, what you expected, and what you got?

sgetecnology commented 3 years ago

in the corona simulator sdk everything works, ssl communication ok data exchange with mosquitto server ok, installing the app in android remains black screen not working, what could be the problem? thank you

xHasKx commented 3 years ago

Do you have some logs, tracebacks, error messages? I didn't test luamqtt on the Corona SDK environment on the real devices

sgetecnology commented 3 years ago

there are no error messages, on the simulator everything works, you can't understand. I send you corona project, from main.lua it is called "connection_mqtt_ssl.lua" in the simulator it's ok, I use zeroBrane studio as ide, so if you don't call the tx () function the screen is displayed when you call tx () the screen of the real device is black app locked. thank you

Il giorno lun 21 set 2020 alle ore 23:56 Alexander notifications@github.com ha scritto:

Do you have some logs, tracebacks, error messages? I didn't test luamqtt on the Corona SDK environment on the real devices

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xHasKx/luamqtt/issues/4#issuecomment-696399493, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQNLNLCBH3SN77X7ZVGNL23SG7DYXANCNFSM4GUUKW7Q .

sgetecnology commented 3 years ago

IT WOULD BE EXCEPTIONAL IF YOU COULD USE IT WITH CORONA SDK, YOU CAN DO THE MIRACLE, HELLO AND THANK YOU

sgetecnology commented 3 years ago

can you tell me if you consider my request? thank you

xHasKx commented 3 years ago

Do you have any logging facility when you run your app on a mobile device? At least writing a log file? If yes - place this log file writings in the various places in your code, then run your app on a mobile device. The best way to solve your issue is to debug it on your device.

sgetecnology commented 3 years ago

I/Corona (13287): lua-openssl version: 0.0.6 Lua 5.1 OpenSSL 1.0.2h 3 May 2016 I/Corona (13287): Platform: X16 / ARM Neon / 5.1 / Mali-T720 / OpenGL ES 3.1 / 2018.3326 / italiano | IT | it_IT | it I/Corona (13287): scrivo key su dispo I/Corona (13287): ::::::: indirizzo:::: /data/data/com.gmail.lab.sge.inviato/app_data/key.pem I/Corona (13287): ::::::: indirizzo:::: /data/data/com.gmail.lab.sge.inviato/app_data/ca.crt I/Corona (13287): lua-openssl version: 0.0.6 Lua 5.1 OpenSSL 1.0.2h 3 May 2016 I/Corona (13287): WARNING: Could not load class 'mqtt.LuaLoader' I/Corona (13287): ERROR: Runtime error I/Corona (13287): /Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:913: module 'mqtt' not found: I/Corona (13287): no field package.preload['mqtt'] I/Corona (13287): no file '/data/data/com.gmail.lab.sge.inviato/files/coronaResources/mqtt.lua' I/Corona (13287): no file '/data/app/com.gmail.lab.sge.inviato-2/lib/arm/libmqtt.so' I/Corona (13287): no file './mqtt.so' I/Corona (13287): no file '(null)/mqtt.so' I/Corona (13287): no file '/data/app/com.gmail.lab.sge.inviato-2/lib/arm/libmqtt.so' I/Corona (13287): no file './mqtt.so' I/Corona (13287): no file '(null)/mqtt.so' I/Corona (13287): stack traceback: I/Corona (13287): [C]: in function 'require' I/Corona (13287): /Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:913: in function 'require' I/Corona (13287): /data/data/com.gmail.lab.sge.inviato/files/coronaResources/mqtt/client.lua:95: in function 'init' I/Corona (13287): /data/data/com.gmail.lab.sge.inviato/files/coronaResources/mqtt/client.lua:1201: in function </data/data/com.gmail.lab.sge.inviato/files/coronaResources/mqtt/client.lua:1199> I/Corona (13287): (tail call): ? I/Corona (13287): /data/data/com.gmail.lab.sge.inviato/files/coronaResources/connessione_mqtt_ssl.lua:128: I/Corona (13287): ERROR: Runtime error I/Corona (13287): /Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:913: module 'mqtt' not found: I/Corona (13287): no field package.preload['mqtt'] I/Corona (13287): no file '/data/data/com.gmail.lab.sge.inviato/files/coronaResources/mqtt.lua' I/Corona (13287): no file '/data/app/com.gmail.lab.sge.inviato-2/lib/arm/libmqtt.so' I/Corona (13287): no file './mqtt.so' I/Corona (13287): no file '(null)/mqtt.so' I/Corona (13287): no file '/data/app/com.gmail.lab.sge.inviato-2/lib/arm/libmqtt.so' I/Corona (13287): no file './mqtt.so' I/Corona (13287): no file '(null)/mqtt.so' I/Corona (13287): stack traceback: I/Corona (13287): [C]: ? I/Corona (13287): [C]: in function 'require' I/Corona (13287): /Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:913: in function 'require' I/Corona (13287): /data/data/com.gmail.lab.sge.inviato/files/coronaResources/mqtt/client.lua:95: in function 'init' I/Corona (13287): /data/data/com.gmail.lab.sge.inviato/files/coronaResources/mqtt/client.lua:1201: in function </data/data/com.gmail.lab.sge.inviato/files/coronaResources/mqtt/client.lua:1199> I/Corona (13287): (tail call): ? I/Corona (13287): /data/data/com.gmail.lab.sge.inviato/files/coronaResources/connessione_mqtt_ssl.lua:128: in function 'tx' I/Corona (13287): /data/data/com.gmail.lab.sge.inviato/files/coronaResources/connessione_mqtt_ssl.lua:195: in function 'method' I/Corona (13287): /Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:221: in function 'dispatchEvent' I/Corona (13287): /Users/jenkins/slaveroot/workspace/Templates/label/android/subrepos/composer/composer.lua:886: in function </Users/jenkins/slaveroot/workspace/Templates/label/android/subrepos/composer/composer.lua:865> I/Corona (13287): (tail call): ? I/Corona (13287): /Users/jenkins/slaveroot/workspace/Templates/label/android/subrepos/transition/transition.lua:599: in function 'method' I/Corona (13287): /Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:221: in function </Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:190>

Il giorno gio 24 set 2020 alle ore 21:49 Alexander notifications@github.com ha scritto:

Do you have any logging facility when you run your app on a mobile device? At least writing a log file? If yes - place this log file writings in the various places in your code, then run your app on a mobile device. The best way to solve your issue is to debug it on your device.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xHasKx/luamqtt/issues/4#issuecomment-698553302, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQNLNLEVI6O2E4FQ72XDZC3SHOPFRANCNFSM4GUUKW7Q .

xHasKx commented 3 years ago

Your error message "module 'mqtt' not found:" indicates that you've just don't installed properly the luamqtt on your device or not packed it properly into your mobile application.

sgetecnology commented 3 years ago

but on the simulator it works smoothly, I followed the instructions that or read on your posts, on can you tell me how to install luamqtt correctly I would be grateful, thanks

Il giorno sab 26 set 2020 alle ore 14:19 Alexander notifications@github.com ha scritto:

Your error message "module 'mqtt' not found:" indicates that you've just don't installed properly the luamqtt on your device or not packed it properly into your mobile application.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xHasKx/luamqtt/issues/4#issuecomment-699488297, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQNLNLGDX4P5PZCPTWYKWELSHXL5BANCNFSM4GUUKW7Q .

xHasKx commented 3 years ago

You have to search that info in the Corona SDK documentation, like "how to embed a custom library" or so