Speed up IoT Development with Middlewares. Round two: Samsung ARTIK

Kamil Górski

Speed up IoT Development with Middlewares. Round two: Samsung ARTIK

Solid brand: Samsung ARTIK

After some digging around in an IoT R&D project, I came across this IoT platform which is quite clearly promoted by Samsung. They organized a contest at hackster for innovative solutions to be made with this platform. In addition to that, they're giving away a weekly bounty for integrating new APIs with the ARTIK system. This platform differs slightly from others for one main reason: if we don’t already have hardware, Samsung ARTIK has its own solution: 3 different IoT modules.

Modules

Samsung offers 3 different hardware platforms for tailored product development called ARTIK. As an asset, you can use it with any platform, not only with ARTIK. Modules also contain hardware Secure Elements and software Trusted Execution Environment for maximum product security. Those modules are the exact same in prototypes as they are in production, so during development you don’t need to worry about scaling your product. Modules are designed to fit all possible product requirements. ARTIK 1 is a module created for low-power and low-computing small devices. It only has Bluetooth connectivity on-board which makes it suitable for wearables and IoT endpoint nodes. ARTIK 5, however, has much different architecture - more performance while maintaining low power consumption and good security features. Also, WiFi, Bluetooth and ZigBee are built in. If you are building a very demanding product, the a solution also exists - ARTIK10. It is designed for applications requiring high performance, storage requirements, demanding video encoding and intense playback needs. As an advantage, ARTIK 5 and 10 are running the Fedora distribution, so you can basically do everything the Linux way.

Cloud platform

ARTIK is being advertising as an API-first cloud service. The list of supported protocols is extensive: HTTP/REST, WebSockets, MQTT and CoAP. If that’s not enough, the supported SDK list is also impressive: Objective C, Java, JavaScript, Swift, PHP, Python, Ruby, Scala, C#. Basically everything you might need. Data visualization is also very well cared for, including charts, diagrams and great functionality to customize it. Another cool feature is Device Simulator. If you don’t have any hardware to test yet, ARTIK provides a Java command-line tool to simulate any devices and mock any data. With this we can develop both hardware and software at the same time from the very beginning of the project. User management is also possible through Samsung Accounts and OAuth. Naturally, if we want to use our user management system, it’s fine to do it that way. The process of connecting a new device has been made as simple as possible. ARTIK platform was made with user-friendly features from the outset. There are a lot of wizards and configuration options designed for usability. In addition to the broad features that this cloud platform provides, there’s yet another great piece of functionality: the possibility to connect any other existing cloud services into ARTIK through Cloud Connector. So if a part of the system already exists, we can easily integrate it with a Samsung solution.

Summary

Security:

Pros Cons
secured hardware solutions none
all connections are encrypted  
user authorization with OAuth2  

Scalability:

Pros Cons
scalable hardware none
cloud service  

Flexibility:

Pros Cons
all kind of data logging and processing lack of custom scripts in cloud
cloud-2-cloud integrations  
many existing integrations  

Development tools (SDKs, etc):

Pros Cons
all flavors of SDK languages lack of low-level C SDK for small devices
CLI tools  
scripts  

First time configuration:

Pros Cons
user friendly  
wizards everywhere  

Documentation:

Pros Cons
massive and extensive documentation none
tons of example end tutorials  
very intuitive navigation  
Kamil Górski avatar
Kamil Górski