IoT Central: Reuse module across device templates - azure-iot-edge

In Azure IoT Central, we can create device templates comprised of modules. I have a requirement to use modules across different device templates.
For example:
A thermostat module can be reused across AHU or FCU device templates.
Has someone tried reusing modules across device templates in IoT Central?

Related

how can I deploy legacy code ( build using .net framework 4.6) in iot edge device as module?

I have a code written in .net framework 4.6 which talks with a device (non iot, non IP) and reads data. I want this data to be sent to Azure IoT hub.
so instead of using Azure IoT Device SDK in it, and running it as a simulated device, I want to create IoT Edge module, so lifecycle management of this app will come handy.
But when I create new C# module in VS 2017, it forces me to use .net core 2.1. Is it possible to create Azure IoT Edge custom Module using .net Frameworks. and if yes, how ??
When you create a module in VS or VS Code, they assume you want a 'traditional' (and cross platform) module. So .NET Core is the only choice (for the cross platform part). However, if you only want to use IoT Edge as a deployment/lifecycle mgmt vehicle, than you can build your own docker image independent of IoT Edge, yet deploy it through the IoT edge manifest. This link talks about containerizing a traditional .NET app, which you should then be able to deploy with IoT Edge (it just won't 'talk' to ioT Edge). We've done similar (non-iot-edge module) kind of things with stuff like influxdb, grafana, redis cache, etc. We deploy and manage their lifecycle with IoT Edge, but they don't really talk to/through IoT Edge.
Note that if you create a container as mentioned in the article, you will be limited to running IoT Edge on Windows with Windows containers.

Difference between OpenWrt and OpenWISP

Recently, I configured OpenWrt on a lot of devices and it's a great firmware for wireless routers. I read a lot about OpenWISP which is:
OpenWISP is a software platform designed to ease and automate the
management of networks, with a special focus on wireless networks,
mainly used in public wifi, mesh networks, community networks, and IoT
scenarios.
OpenWISP 2, launched in December 2016, is the new generation of the
software which is gradually replacing OpenWISP 1 and aims to build an
ecosystem of applications and tools that make it easy for developers
to build custom networking applications in order to bring innovation
in the network infrastructure of communities that most need it. [Source]
I think that it would play like an OpenWrt, however, I don't understand it completely.
OpenWISP is a web application composed with a collection of open source software tools, its aim is to allow the creation of customized network management solution, as well as to provide a default application which allows managing an OpenWRT based network.
Imagine it as a scriptable linux/python/django and web based system through which you can manage a fleet of OpenWRT devices.

What differ CoAP and LwM2M?

I study about IoT protocol CoAP, MQTT, LwM2M.
I was able to know a little about CoAP and MQTT.
But I do not know what LwM2M is.
I do not know what's different from CoAP.
I just thought that LwM2M is not a protocol with some format but a system structure using CoAP.
Is that correct?
What is LwM2M and How Can I know more information about LwM2M?
Please someone teach me.
LwM2M (specified by OMA) is a is a protocol group largely built on top of CoAP (specified by the IETF).
LwM2M uses a subset of CoAP's capabilities that fit into an architecture of many small devices registering at a large LwM2M server that manages the devices. It prescribes particular path structures (that numbers are used in paths, and what they mean) that represent the LwM2M object model to allow that unified management.
Compared to "plain CoAP", this limits the scope of what devices can do. Devices can still provide other CoAP functionality on the same server that is not covered by LwM2M. Those limitations allow different vendors to build devices that can interoperate with a different management servers, and LwM2M provides additional specifications for easy deployment (e.g. based on smart cards) that are out of scope for CoAP.
The direct answer can be obtained from the official sites:
CoAP "is a specialized web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things.
The protocol is designed for machine-to-machine (M2M) applications such as smart energy and building automation."
LwM2M "is a device management protocol designed for sensor networks and the demands of a machine-to-machine (M2M) environment. With LwM2M, OMA SpecWorks has responded to demand in the market for a common standard for managing lightweight and low power devices on a variety of networks necessary to realize the potential of IoT."
Basically, we can simplify saying that CoAP was designed to communications between constrained IoT devices and it is very similar to HTTP protocol, which facilitates the developers work, while the LwM2M was designed mainly to manage constrained devices remotely, providing service enablement, for instance. Both protocols are commonly used together.
More information you can find in the following links:
- What is LwM2M? A device management solution for low power M2M
- CoAP functionality expected in a LwM2M system

IOT with MEAN - Together

MEAN stack and IOT are the current trending hot topics. Can these two be used together? If yes then in what way?
How can these technologies be used together?
Sweta.
By saying MEAN.js you are including things that are not strictly in the IoT terrain. Angular for example has little to do with anything.
On the web front end you need to implement a javascript library like Paho.js that will use the MQTT protocol to connect to a broker and start aggregating messages from connected devices.
Express has little to do as well as you are not exposing a Restful interface but connecting low level through a broker. A good solution in Node.js is Mosca.
Mongo is good for dumping data from devices.
I have written a tutorial using Node.js and iOS so have a look and you might find it interesting.
Mean stack is the combination of the frontent web frameworks like angularjs,emberjs,knockoutjs,backbonejs , javascript's backend server called nodejs and using the mongodb at top. so using these frameworks and library will make a mean stack developer.
IoT pronounced as Internet of things. iot is recently used for connected electronics devices .basically it is a form of running your program inside the electronic chip and mostly trying to connect the devices.making control on devices using the programmed chip. there are separate IDE's are avaialble for developing and testing the programme on embeded chip.
you can use angularjs as a frontend(making your GUI) for your IoT'S application.
Yes, you can.
As a fact is has been done before. And in other frontend frameworks too. Here there is an example for home automation.
You can find even a yeoman generator for such projects here.
[Disclaimer: I work here] Netbeast started managing devices and creating a system of plugins on top
of a MEAN app and RESTful communications. (Now we use a MERN
stack, with react and MQTT over websockets to control networks and
update values in real time.)
To mention other places where you can find examples of current projects using MEAN to run IoT networks I encourage you to join angular, arduino and raspberry communities, as well as taking a tour over producthunt.com, hackster.io and other maker sites such as the previously mentioned Netbeast forum.
Yes you can make an IoT platform with the MEAN stack. Typically the sensors are low cost sensors and are constantly transmitting small amounts of data in MQTT or TCP protocols. With Node.js you can write, servers for such applications very easily.
Mongo is useful if you have unstructured data, which could happen if you work with multiple sensors. If you don't need unstructured data structures, SQL is sufficient.
All the data that you get from devices, finally needs to be consumed via applications. Express and Angular are great platforms to manage web applications.
You can read a little more about IoT platforms in MEAN at http://blog.yatis.io/scalable-iot-platform-mean-stack/

Virtual TAPI Device

I'm currently building an application that relies heavily on TAPI and allows users to make/receive calls. I was wondering if anyone had a virtual TAPI device or some way of simulating an incoming call, being on hold etc.
If it matters I have using the hbTAPI components for Delphi (Standard Edition).
Unfortunately developing against a simulator won't get you very far due to the nature of TAPI. I know no complete end-to-end simulators.
You can, with a little effort, setup your own simple simulation environment using Microsoft's H.323 Telephony Service provider and two or more computers on a network. There are also several TAPI SIP providers(Terasip,SIPTAPI) available which will let you test against production SIP servers.
I've not seen any TAPI compliant hardware simulators. There's too much variation among vendors to make a TAPI compliant hardware simulator that will give you realistic behavior.
Your best bet is to test against actual hardware and then provide a list of ones you will support to your clients. You can get pretty good results by purchasing some reliable voice modems with good support for Unimodem 5. You can then move up to TAPI compliant PBX equipment from there if that's the direction you're interested in heading.
Also you didn't indicate with version(s) of TAPI you're intending to target. TAPI 2.x requires language bindings to be accessed outside of C/C++ while TAPI 3.x uses COM interfaces but supports a more limited subset of the functionality provided by TAPI 2.x. It also has additional features not available in 2.x. Its not apparent from hbTAPI's documentation whether it supports 3.x or not.
Not all vendors support both APIs so this is a consideration as well.
This is a bit late, but there is a TAPI emulator now: https://www.tapimaster.eu/en/en_tools_tspemulator.html

Resources