Is there a way to use ESP NOW protocol using lua? - lua

i'm working on a project using esp8266 nodemcu board, and found right at the beginning that there is an IDE for this board called ESPlorer IDE which uses Lua code, so i've using https://nodemcu.readthedocs.io as my go to, but now i want to implement the esp now protocol on my project but i can't since there is no documentation for it's usage on lua, so my question is. Is there a way to use ESP NOW protocol using lua?
or do i have to use another IDE and start all over?

It looks like the ESPNow protocol isn't supported by the NodeMCU firmware by default; there's an issue requesting support from September 2019.
If you're adept in C, you could maybe be the hero to implement that, but otherwise... no, unfortunately you can't use ESPNow with NodeMCU/Lua.

Related

Can circuitpython libraries be imported and used in micropython?

I am researching on micropython to use for an IoT project for school using nodeMCU esp8266. one of the use cases requires the device to receive IR signal from an Aircon remote control and save it as well as being able to transmit this code using and IR LED. in circuitpython there is a library called pulseio that can do this function, but it is not available in micropython. can this library be imported into micropython?
In short No.
It is very unlikely any CircuitPython library willl work straight over in MicroPython on your board. The main reason for this is that once the library starts to use UART or I2C the underlying implementation in CircuitPython is very dependent on other CircuitPython libraries which do not have equivalents in MicroPython.
It may be possible to find all these and re-implement them using standard MicroPython.
The decision point is if you can do that faster than finding a MicroPython library or example for your board to do the same thing OR if you should buy a CircuitPython compatible board instead.

Android Things Custom Hardware

I'm interested is it possible to install and use Android Things(former Brillo) on custom produced hardware?
I can see from the official documentation there is preselected and certified SoMs listed, but I'm interested in using my own hardware.
Is it possible to have best of both worlds - use the familiar to me Android & Android Things but run it on proprietary hardware?
If not, what other options do I have - I researched about micropython, but apparently it seems it also comes with designated board(pyboard).
So my question is what are options to not thinks too much about the firmware on the device(and write C code), but focus on more higher-level business logic and programming languages(Java, Python).
Android Things isn't open source, so you can't put it into that isn't officially supported.
If you're looking for custom options, you will need to find a compiled language like C that works for that board. While C may be a bit intimidating, you may be able to find languages that compile to similar machine code. Rust and Go may work on microcontrollers too if you check.
I'm not too familiar with micro python. It says that it compiles to bare metal/machine code, so I believe you should be able to use it on other boards. While they may officially support the compiler for one board, the community may have support for additional microcontrollers.

Possible to create a zeroconf service with Delphi XE5?

Working on an appliance and would like to support zero configuration feature. That way users can look for the device on the network and simply double click an icon to access the web interface without having to configure it or know its ip address.
Tried to use UPNPLib_TLB but functions seem to be read-only; am I right? I can create a device using CoUPnPDevice.Create but can't set a FriendlyName or a URL.
Tried to use Deltics Bonjour service but it crashes on create (ACCESS_VIOLATION). The demo code uses a custom test unit which complicates experimentation.
After much research it does not look like there is a component available for this and would appreciate some pointers. Has anyone successfully created a zeroconf broadcast either via UPnP or Bonjour with Delphi XE2/5.. I can go back to Delphi 7 if required. Target = Windows 7.
NOTE: To be clear, I can find existing devices on the network and don't want to enumerate existing devices but what I want is to broadcast my service so that my box behaves like a network printer for example. The only service I need to expose is the URL so that users can access an embedded web server.
Appreciate the help!
EDIT
With the tips provided I did some research and getting this done the RAD way is not possible.
Using MS APIs directly is time consuming and requires a level of understanding of C that I don't have. Porting the Delphi 5/Indy 7 component to XE2/5 will require a good amount of work and debugging.
I discovered UPnP developer tools from Intel now open source here: Developer Tools for UPnP. This tools makes it really simply to create a server in 10-15 lines of code. Intel provides a DLL that I can call from VS Express as follows and it works great:
device = UPnPDevice.CreateRootDevice();
device.FriendlyName = 'My name';
device.PresentationURL = 'URLToEmbeddedServer";
..
I tried to use headconv7 tool to convert the .h file Intel's UPNP.DLL to a pascal file and call the external functions within the DLL directly from Delphi but there were too many problems with the conversion.
It's too bad because the Intel library makes it really simple to create UPnP stacks and the approach would apply itself very well to a component but for now its quicker to use .NET and VS Express to get the job done.
When using UPNPLib_TLB, you are not supposed to create a UPnPDevice object directly. UPnpDevice describes a known device on the network, which is why its properties are read-only.
Read the documentation:
Control Point API
Finding Devices
You are supposed to create an instance of the UPnPDeviceFinder class instead. Its search methods will give you a UPnDevice object for each device that is found.

Sockets (TCP/UDP) on iPad WITHOUT Objective-C

Is there a way to make use of iPad/iPhone's socket capabilities without using Objective-C? Is there any way to expose this functionality with ActionScript 3 or some über HTML5 framework?
On the Arduino forums I'm trying to find out my hardware limits, here and here (I found out that using Objective-C this would be possible, even with bonjour discovery).
(With webSockets, or with UDP. It doesn't have to be Haxe.)
I'm researching the possibility of using webSockets, which should be the easiest if it's possible.
However, I'd like to consider all options. So I know Arduino can talk raw UDP. And I know that there is a CocoaAsyncSocket library for Objective-C. Only, I'd like to NOT prototype in Objective-C...
(So, this will be the n-th post on Stack Overflow about a Wi-Fi-enabled Arduino that I'd like to talk to an iDevice. Bluetooth is not an option due to Apple's non-prototyping-friendly-MFi-program.)
You can use the C POSIX socket API (probably easiest, if you know C). Or you can use HTML5/Javascript and Haxe or socket.io.

Delphi & SmartCards

Does anyone have experience integrating SmartCard authentication in their Win32 apps? If so, are there any preferred libraries?
Try SecureBlackbox, A component that works fine for me, a second choice can be
Delphi PC/SC SmartCard Component 0.91.
try
Well I guess that you have an SmartCard reader ... if so (and if you don't have one I don't know how you are going to manage this) then it must have some interface, RS232, USB, TCP/IP ... any one will do.
Communication protocol usually is available at SmartCard reader manufacturer. Few lines, and you will have it working in Delphi.
You need to read the developer manual that comes with reader you're going to use. It might only use PC-SC (by MS) to communicate, if so you can use the component specified by RRUZ, however it doesn't work with D2009. Otherwise you'll need to use API provided by SDK.

Resources