Getting Started
This section guides you to get started with the Smarter AI camera platform
Smarter AI Account
To start developing your application over the Smarter AI camera platform, you need an account with Smarter AI.
Contact us for your account.
We will create your account in our platform and provide you the following to start :
1. Your tenant Id
With this, we identify you in our platform. You will need to use this with the Smarter AI platform libraries.2. Smarter AI Dashboard credentials
Smarter AI Dashboard is a web application that enables you to manage and monitor your smart devices, users, events and streams.
With the provided dashboard credentials, you will be able to login into the dashboard.3. Smarter AI Platform Libraries
These libraries expose API to your application and provides connecting, communication, and streaming capabilities between the camera and mobile devices.
System Requirements
Android
Smarter AI platform libraries are implemented in
C++
and providesJava
JNI wrapper for the application layer. Basically, there is no android specific API limitations at Smarter AI platform library side.But you would use android
MediaCodec
for decoding the streaming data. This would limit you to API level 16.So, our recommended
minimumSdkVersion
is 16 (Android Jelly Bean 4.1). By setting theminimumSdkVersion
to 16, you would cover 99.6% devices in the market.
iOS
Smarter AI platform libraries are implemented in
C++
. So at present,Objective C
is the first choice to develop your iOS application. You may useSwift
, but in that case, you would need to create your ownC
wrappers ofC++
libraries.
Basically, there is no iOS specific API limitations at the Smarter AI platform library side.
For the iOS application, hardware decoder is used to decode camera streaming data. So minimum required OS version is ios(8.0).
For better performance our recommended minimum OS version is ios(10.0) and
Xcode
version is 10.0.
Libraries
Here, we introduce you to the Smarter AI platform libraries and guide you through integrating it into your project.
Android
About Platform LibrariesSmarter AI platform libraries consists of :
1. Access Library
This library serves the purpose of ensuring a simple and secure communication with the Smarter AI camera platform
by exposing API to the application layer throughAccess.java
JNI wrapper.2. Stream Library
The stream library is responsible for providing streaming facility from your smart camera to the app.
It exposes its functionality throughStream.java
andSipJniWrapper.java
JNI wrappers.3. Connect Library
It's an internal library used by the stream library which facilitates stable connection
between the streaming device and the stream viewer device.
You won't have to use it directly but you will import it into the app.
Linking Libraries in AppSmarter AI platform libraries are available in the
Smarter AI Core SDK
for android.
In your project levelbuild.gradle
file, add the following lines inside therepositories
block.allprojects { repositories { google() jcenter() ... maven { url "http://65.52.189.0:8081/artifactory/gradle-dev-local" credentials { username = "username" password = "password" } } } }
For sake of security, we share the username and password privately. Contact us here to get the username and password and replace them in the
credentials
block.In your app module level
build.gradle
file, under the 'dependencies' block, add the following implementation to load the library.dependencies { implementation 'com.smarter.ai:core-sdk:1.0.3' ... ... }
Replace the version with the latest
Smarter AI Core SDK
version. Contact us here to get the most recent version ofSmarter AI Core SDK
.
iOS
About Platform LibrariesSmarter AI platform libraries consists of:
1. Access Library
This library serves the purpose of simple and secure communication with the Smarter AI camera platform
by exposing API to the application layer throughAccess.h
.2. Stream Library
The stream library is responsible for providing streaming facility from your smart camera to the app.
It exposes its functionality throughStream.h
.3. Connect Library
It's an internal library used by stream library which facilitates ensuring stable connection
between the streaming device and the stream viewer device.
You won't have to use it directly but import it into the app.
The Library PackageYou will receive the library package as a zip folder.
After unzipping the folder, you will find the below file directory:AnyConnectLibs |_____include | |_____Access.h | |_____Stream.h | |_____AccessTypes.h | |_________lib |_____libacaccess.a |_____libacconnect.a |_____libacstream.a
Linking Libraries in App
1. Placing header(.h
) filesIn the project directory of your app, create a directory named
include
and place the library headers in this directory. Or you can directly place the
libraryinclude
folder in your project directory.From Xcode Build Settings, add this
include
directory path to Header Search Paths lists.
2. Placing lib(.a
) filesIn the project directory of your app, create a directory named
lib
,
place thelibacaccess.a
andlibacstream.a
files in this directory.
Or you can directly place the librarylib
folder in your project directory.From Xcode Build Settings, add this
lib
directory path to Library Search Paths lists.
3. Link binary in XcodeFrom Xcode Build Phases, link
libacaccess.a
andlibacstream.a
binary files
in Link Binary With Libraries Phase.
4. Link dependency framework in XcodeFrom Xcode Build Phases, link Smarter AI provided
boost.framework
and
systemsVideoToolbox.framework
in Link Binary With Libraries Phase.
VideoToolbox.framework
is being used inStream
Library to decode received stream data.
Updated over 2 years ago