Intellectual Property
Depends.
Usually the generated IP remains with the person who conceived it. Your use of the IP would then be governed by a fair-use license that allows you to use and sell commercial solutions.
Alternately, the generated IP could be created and released under an open-source license. At PIATRA, we typically prefer to use the MIT open source license since it allows for unrestricted commercial usage.
Finally, for a higher consulting rate, we can completely attribute all generated IP to you. We can also help you with the requirements to secure patent protection for it. Or IP can remain as commercial secret if that's a better match for your needs.
Sometimes the best protection for an idea is keeping it secret. Discretion is a core company value at PIATRA.
We have Non-disclosure agreements ready to sign in order to keep your commercially sensitive details protected, from initial contact and project discussion.
Hardware
Mostly we utilise either Atmel chipsets or Espressif chips based on the ESP32. We can code using chip-native frameworks (ESP-IDF) frameworks or utilise common frameworks like the Arduino, RTOS or MicroPython frameworks. This will cover most micro-processors on the market.
For embedded systems, we work with PlatformIO's extensive list of more than 40 chipsets from manufacturers such as Atmel, Texas Instruments, Intel, Nordic, Silicon Labs, Espressif, etc.
We will typically use off-the-shelf hardware for prototyping. This would be ESP32 development boards, the arduino UNO card, basic RELAY interfaces.
In most cases, these prototyping implementations will not be robust enough to deploy into the field. This is especially true if any kind of rugged final product is required. In such cases, once the prototype is developed - and tested - a dedicated circuit board and enclosure will be designed and fabricated.
Data Sources
For sure.
We can write utilities to automatically extract data from API's, web-sockets and even Excel spreadsheets. The data can be refreshed in real-time or by request to an external source.
Basically, if we can access it, derive it or measure it ourselves, it is available for analysis and ready to build insight into your complex problem.
Python has some fantastic numerical analysis libraries - Numpy, Scipy. This is in addition to the great array of tools that facilitate the serialisation/deserialisation of raw information.
R is a very popular language finding a good foothold in data-science in recent years. It is primarily related to big data, data mining, and deep learning. R handles both structured and unstructured data elegantly.
MATLAB is also a popular choice for analysis of information, with many statistical tools available for advanced use cases.
The D3 javascript library is very helpful visualisation tool, particularly for structured JSON data.
Sensing and Control
All types of common sensors can be easily integrated into your process. If the information is useful it can be integrated one way or another.
The most common sensors used are:
- temperature and humidity
- gas monitoring - CO, H2, etc
- proximity sensors
- physical interlocks
- buttons/binary switches
- sliders/analog switches
- light and sound monitoring
- wind speed and direction
- vibration sensing
- water levels. pH, flowrates
- Web-based data
- API served data
Whatever you application needs, if you have a device that has a control interface, we can use it. If it has no control interface we can automate a robot finger to press a button. There is no limit.
- GPIO/TTL logic signals
- Relay control of Power circuits
- Analog control via I2C or SPI interfaces
- RS232 or RS485 long-range serial bus
- IR remote control signals
- RF remote control signals
- LoRaWan
MQTT stands for Message Queue Telemetry Transport.
It is a lightweight and efficient publish/subscribe messaging transport protocol. In the last few years it has emerged to be the dominant such protocol for implementing the flow of sensing and control signals.
There are many open-source and paid options. It is able to be secured using TLS encryption. It offers an easy way to collect data from various sources into a central hub. Client programs can digest the data from a MQTT broker, to generate user interfaces of logging.
There are several emerging protocols for standardising the reporting endpoints so that devices, sensors and consuming agents can seamlessly interact with any device reporting to the broker that conforms to the standard.
Automation
It's very possible that you will spend more time automating a task than you could save from the automation!
Simply put, a task should be automated for two reasons: repetitive or error-prone.
Some tasks are tedious, but you only have to do them once or twice in your lifetime. However, if you're doing the task over and over, it's probably worth automating. Especially if the task is well-defined and consistent.
Alternately, if the task is critical to an important business process and requires some degree of error checking or data massage, then automation can provide a level of error-checking or validation that will save troubles down the road.
There are several automation platforms that provide access to libraries of prebuilt automation examples.
- IFTTT - "If this then that"
- Apple Shortcuts
- Automate.io
- etc
These 3rd-party platforms can integrate with many Home or Commercial systems, such as Apple HomeKit or Google Home. Additionally, they can access to external systems that provide an API accessible via web-sockets or http.
Supervisory control and data acquisition (SCADA) is a system of software and hardware elements. SCADA systems are used by industrial organizations and companies in the public and private sectors to control and maintain efficiency, distribute data for smarter decisions, and communicate system issues to help mitigate downtime.
SCADA systems work well in many different types of enterprises because they can range from simple configurations to large, complex installations. SCADA systems are the backbone of many modern industries.


