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
AndroidSmarter AI platform libraries are implemented in
C++and providesJavaJNI wrapper for the application layer. Basically, there is no android specific API limitations at Smarter AI platform library side.But you would use android
MediaCodecfor decoding the streaming data. This would limit you to API level 16.So, our recommended
minimumSdkVersionis 16 (Android Jelly Bean 4.1). By setting theminimumSdkVersionto 16, you would cover 99.6% devices in the market.
iOSSmarter AI platform libraries are implemented in
C++. So at present,Objective Cis the first choice to develop your iOS application. You may useSwift, but in that case, you would need to create your ownCwrappers 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
Xcodeversion 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.javaJNI 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.javaandSipJniWrapper.javaJNI 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 SDKfor android.
In your project levelbuild.gradlefile, add the following lines inside therepositoriesblock.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
credentialsblock.In your app module level
build.gradlefile, 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 SDKversion. 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
libraryincludefolder in your project directory.From Xcode Build Settings, add this
includedirectory path to Header Search Paths lists.
2. Placing lib(.a) filesIn the project directory of your app, create a directory named
lib,
place thelibacaccess.aandlibacstream.afiles in this directory.
Or you can directly place the librarylibfolder in your project directory.From Xcode Build Settings, add this
libdirectory path to Library Search Paths lists.
3. Link binary in XcodeFrom Xcode Build Phases, link
libacaccess.aandlibacstream.abinary files
in Link Binary With Libraries Phase.
4. Link dependency framework in XcodeFrom Xcode Build Phases, link Smarter AI provided
boost.frameworkand
systemsVideoToolbox.frameworkin Link Binary With Libraries Phase.
VideoToolbox.frameworkis being used inStreamLibrary to decode received stream data.
Updated about 1 month ago


