Intro​ ​to​ ​the​ ​goTenna​ ​SDK goTenna​ ​is​ ​the​ ​world's​ ​first​ ​wireless​ ​platform​ ​for​ ​long-range,​ ​mobile,​ ​off-grid Mesh​ ​networking. The​ ​goTenna​ ​SDK,​ ​allows​ ​you​ ​to​ ​develop​ ​applications​ ​that​ ​require​ ​direct networking​ ​using​ ​Android/iOS​ ​smartphones.​ ​Using​ ​the​ ​SDK​ ​&​ ​goTenna​ ​hardware, you​ ​can​ ​build​ ​applications​ ​that​ ​work​ ​even​ ​when​ ​the​ ​mobile​ ​network​ ​infrastructure is​ ​down​ ​(e.g.,​ ​during​ ​an​ ​emergency)​ ​or​ ​where​ ​it​ ​doesn’t​ ​exist​ ​at​ ​all​ ​(e.g.,​ ​when hiking​ ​in​ ​the​ ​countryside).​​ ​Alternate​ ​options​ ​that​ ​enable​ ​direct​ ​networking,​ ​such​ ​as Bluetooth​ ​and​ ​WiFi​ ​may​ ​offer​ ​higher​ ​data​ ​bandwidth,​ ​but​ ​are​ ​extremely​ ​limited​ ​in range.​ ​With​ ​point-to-point​ ​range​ ​often​ ​measured​ ​in​ ​miles​ ​and​ ​the​ ​ability​ ​to​ ​easily double​ ​or​ ​triple​ ​your​ ​range​ ​by​ ​meshing,​ ​the​ ​goTenna​ ​platform​ ​may​ ​be​ ​a​ ​much​ ​more practical​ ​option​ ​for​ ​these​ ​applications. Although​ ​our​ ​own​ ​app​ ​focuses​ ​on​ ​text​ ​messaging​ ​and​ ​GPS​ ​location​ ​sharing,​ ​we hope​ ​the​ ​developer​ ​community​ ​will​ ​come​ ​up​ ​with​ ​new​ ​ways​ ​of​ ​utilizing​ ​the goTenna​ ​platform​ ​to​ ​deliver​ ​unique​ ​applications​ ​that​ ​work​ ​anywhere. Primary​ ​Functional​ ​Features ● Support​ ​for​ ​goTenna​ ​and​ ​goTenna​ ​Mesh ● Open​ ​broadcast​ ​messaging ● 1-to-1​ ​private​ ​messaging ● Group​ ​messaging ● Meshing​ ​for​ ​private​ ​messages​ ​and​ ​group​ ​messages​ ​(up​ ​to​ ​3​ ​hops) ● Frequency​ ​hopping ● Completely​ ​free-form​ ​agnostic​ ​data​ ​bucket​ ​for​ ​you​ ​to​ ​do​ ​anything​ ​you​ ​want, with​ ​2​ ​simple​ ​fair-use​ ​rules: ■ 256​ ​byte​ ​maximum​ ​payload​ ​size​ ​for​ ​all​ ​transmission​ ​types ■ 5​ ​total​ ​transmissions​ ​allowed​ ​per​ ​end-user​ ​per​ ​minute Other​ ​things​ ​the​ ​SDK​ ​will​ ​do​ ​for​ ​you ● Manage​ ​Bluetooth​ ​connectivity​ ​for​ ​iOS​ ​&​ ​Android ● Report​ ​on​ ​receipt​ ​or​ ​failure​ ​for​ ​1-to-1​ ​messaging ● Option​ ​to​ ​activate​ ​goTenna​ ​encryption​ ​within​ ​1-to-1​ ​and​ ​group​ ​messaging

● ● ● ●

Report​ ​on​ ​goTenna​ ​battery​ ​life​ ​and​ ​firmware​ ​version Manage​ ​firmware​ ​upgrades Provide​ ​alerts​ ​and​ ​other​ ​diagnostic​ ​data​ ​as​ ​needed Maintains​ ​separation​ ​from​ ​other​ ​SDK​ ​users.​ ​To​ ​illustrate,​ ​App​ ​X​ ​can​ ​only speak​ ​to​ ​App​ ​X​ ​on​ ​goTenna​ ​via​ ​a​ ​tokening​ ​process,​ ​apps​ ​cannot​ ​be interoperable​ ​for​ ​security​ ​reasons.​ ​If​ ​you​ ​misplace​ ​your​ ​token,​ ​please​ ​contact goTenna​ ​support​​ ​to​ ​retrieve​ ​it.

Why​ ​is​ ​the​ ​SDK​ ​the​ ​way​ ​it​ ​is? Most​ ​of​ ​you​ ​might​ ​wonder​ ​why​ ​the​ ​payload​ ​and​ ​bandwidth​ ​limits​ ​are​ ​in​ ​place.​ ​This is​ ​purely​ ​because​ ​spectrum​ ​is​ ​a​ ​finite​ ​resource,​ ​and​ ​the​ ​FCC​ ​tightly​ ​controls​ ​the amount​ ​of​ ​spectrum​ ​available​ ​for​ ​use​ ​in​ ​the​ ​unlicensed​ ​frequency​ ​bands​ ​we​ ​operate at.​ ​For​ ​this​ ​reason,​ ​we​ ​all​ ​have​ ​to​ ​be​ ​cognizant​ ​of​ ​our​ ​network​ ​footprint​ ​and​ ​put​ ​in place​ ​some​ ​controls​ ​so​ ​that​ ​we​ ​don’t​ ​ruin​ ​the​ ​airwaves​ ​for​ ​other SDK​ ​users.​ ​If​ ​we​ ​allowed​ ​non-stop​ ​transmissions,​ ​not​ ​only​ ​would​ ​it​ ​likely​ ​destroy the​ ​hardware,​ ​but​ ​instead​ ​of​ ​us​ ​being​ ​able​ ​to​ ​support​ ​a​ ​bunch​ ​of​ ​people​ ​in​ ​an​ ​area, we​ ​would​ ​only​ ​be​ ​able​ ​to​ ​support​ ​1or​ ​2.​ ​So​ ​we​ ​ask​ ​that​ ​everyone​ ​please​ ​be​ ​mindful of​ ​how​ ​you​ ​decide​ ​to​ ​use​ ​goTenna.​ ​Building​ ​an​ ​app​ ​that​ ​just​ ​does​ ​HD​ ​video transfer​ ​across​ ​a​ ​city​ ​for​ ​fun​ ​may​ ​technically​ ​work​ ​if​ ​you’re​ ​patient​ ​enough,​ ​but​ ​it would​ ​ruin​ ​the​ ​experience​ ​for​ ​anyone​ ​else​ ​in​ ​the​ ​area.​ ​So​ ​play​ ​nice​ ​please! Development​ ​Design​ ​Tips ●​ ​Keep​ ​in​ ​mind​ ​the​ ​purpose​ ​of​ ​goTenna,​ ​which​ ​is​ ​enabling​ ​short-form​ ​burst​ ​data​ ​at long​ ​distances.​ ​Although​ ​larger​ ​things​ ​can​ ​be​ ​done​ ​with​ ​the​ ​SDK,​ ​it​ ​is​ ​not​ ​what​ ​the system​ ​is​ ​designed​ ​for.​ ​Using​ ​the​ ​goTenna​ ​for​ ​applications​ ​which​ ​require​ ​large throughput​ ​will​ ​result​ ​in​ ​lower​ ​battery​ ​life,​ ​less​ ​bandwidth​ ​for​ ​others,​ ​latency,​ ​and generally​ ​just​ ​not​ ​work​ ​well.​ ​Plus,​ ​it​ ​is​ ​not​ ​nice​ ​to​ ​others. ●​ ​Serialize​ ​your​ ​data​ ​as​ ​often​ ​as​ ​you​ ​can.​ ​If​ ​you​ ​have​ ​certain​ ​pre-set​ ​types​ ​of information​ ​you​ ​want​ ​to​ ​send,​ ​you’re​ ​much​ ​better​ ​off​ ​sending​ ​a​ ​small​ ​burst​ ​that represents​ ​that​ ​data​ ​as​ ​opposed​ ​to​ ​the​ ​raw​ ​data​ ​itself.​ ​For​ ​example,​ ​need​ ​to​ ​have​ ​an “Alert​ ​=​ ​Arriving”​ ​or​ ​“Alert​ ​=​ ​Emergency”​ ​in​ ​your​ ​app?​ ​Instead​ ​of​ ​spelling everything​ ​out,​ ​consider​ ​a​ ​system​ ​of​ ​flags​ ​and​ ​structured​ ​data​ ​so​ ​that​ ​you​ ​can​ ​send something​ ​like,​ ​“A:1”​ ​or​ ​“A:2”​ ​and​ ​then​ ​interpret​ ​it​ ​on​ ​the​ ​other​ ​end! ●​ ​Find​ ​any​ ​opportunity​ ​to​ ​cut​ ​down​ ​on​ ​your​ ​own​ ​payload’s​ ​structural​ ​overhead. ●​ ​Pre-cache​ ​data​ ​within​ ​your​ ​applications​ ​whenever​ ​possible.​ ​The​ ​goTenna​ ​is​ ​best when​ ​used​ ​to​ ​send​ ​beacons​ ​of​ ​information​ ​like​ ​changes,​ ​alerts,​ ​or​ ​other​ ​small bursts​ ​that​ ​can​ ​then​ ​be​ ​contextualized​ ​richly​ ​using​ ​information​ ​that​ ​was​ ​previously available​ ​on​ ​the​ ​other​ ​user’s​ ​app.

●​ ​Keep​ ​in​ ​mind​ ​that​ ​Bluetooth​ ​Low-Energy​ ​has​ ​a​ ​very​ ​low​ ​data​ ​throughput,​ ​so​ ​it​ ​at times​ ​it​ ​may​ ​be​ ​a​ ​bottleneck​ ​in​ ​your​ ​communications​ ​back​ ​and​ ​forth​ ​from​ ​goTenna. Delays​ ​may​ ​sometimes​ ​be​ ​from​ ​this​ ​root​ ​cause. ●​ ​Try​ ​to​ ​avoid​ ​any​ ​communications​ ​architectures​ ​where​ ​you​ ​create​ ​a​ ​situation where​ ​many​ ​nodes​ ​are​ ​trying​ ​to​ ​communicate​ ​at​ ​the​ ​exact​ ​same​ ​time.​ ​For​ ​example, a​ ​poor​ ​architecture​ ​would​ ​be​ ​one​ ​where​ ​1​ ​unit​ ​sends​ ​out​ ​a​ ​polling​ ​message,​ ​which then​ ​results​ ​in​ ​every​ ​other​ ​unit​ ​in​ ​the​ ​area​ ​trying​ ​to​ ​respond​ ​simultaneously​ ​in​ ​some way,​ ​this​ ​can​ ​result​ ​in​ ​latency​ ​and lost​ ​packets.​ ​A​ ​better​ ​architecture​ ​would​ ​be​ ​one​ ​where​ ​units​ ​are​ ​temporally​ ​spread out when​ ​trying​ ​to​ ​communicate​ ​to​ ​a​ ​single​ ​unit. ●​ ​Important:​ ​We​ ​strongly​ ​encourage​ ​you​ ​to​ ​use​ ​the​ ​shout,​ ​1-to-1,​ ​and​ ​group​ ​chat functions​ ​as​ ​they​ ​are​ ​natively​ ​designed.​ ​Shout​ ​broadcasts​ ​are​ ​NOT​ ​encrypted​ ​and take​ ​up​ ​more​ ​network​ ​bandwidth​ ​than​ ​the​ ​other​ ​transmissions. ○​ ​Although​ ​group​ ​chats​ ​are​ ​currently​ ​limited​ ​to​ ​10​ ​users​ ​only,​ ​an​ ​upcoming​ ​feature update​ ​will​ ​lift​ ​this​ ​restriction​ ​and​ ​make​ ​encrypted​ ​group​ ​membership​ ​unlimited. Other​ ​Rules: ●​ ​SDK​ ​terms​ ​of​ ​use​ ​are​ ​included​ ​in​ ​the​ ​repository,​ ​please​ ​read​ ​thoroughly. ●​ ​It​ ​is​ ​the​ ​responsibility​ ​of​ ​the​ ​developer​ ​to​ ​comply​ ​with​ ​all​ ​FCC​ ​regulations. ●​ ​goTenna​ ​reserves​ ​the​ ​right​ ​to​ ​revoke​ ​SDK​ ​access​ ​to​ ​any​ ​application​ ​that​ ​is​ ​found to​ ​be​ ​abusive​ ​and​ ​against​ ​the​ ​spirit​ ​of​ ​what​ ​this​ ​tool​ ​is​ ​designed​ ​to​ ​be​ ​used​ ​for, example​ ​of​ ​such​ ​violations​ ​include: ○​ ​Patterns​ ​of​ ​continuous​ ​transmissions​ ​(large​ ​file​ ​transfers​ ​or​ ​any​ ​other operations​ ​which​ ​consistently​ ​max​ ​out​ ​the​ ​limits​ ​of​ ​the​ ​SDK​ ​on​ ​bandwidth use) ○​ ​Excessive​ ​automated​ ​beaconing​ ​which​ ​noticeably​ ​degrades​ ​other​ ​goTenna users​ ​quality​ ​of​ ​service ○​ ​Applications​ ​violating​ ​FCC​ ​rules ○​ ​Any​ ​evidence/attempts​ ​to​ ​circumvent​ ​the​ ​fair-use​ ​controls​ ​within​ ​the​ ​SDK protecting​ ​public​ ​bandwidth ●​ ​SDK​ ​developers​ ​must​ ​agree​ ​to​ ​abide​ ​by​ ​goTenna​ ​brand​ ​guidelines,​ ​specifically: ○​ ​Your​ ​primary​ ​product​ ​identifier​ ​should​ ​not​ ​be​ ​the​ ​goTenna​ ​icon​ ​or​ ​name, for​ ​example: ■​ ​Name​ ​your​ ​app​ ​"goTenna" ■​ ​Have​ ​the​ ​public​ ​app​ ​store​ ​listing​ ​icon​ ​be​ ​the​ ​goTenna​ ​icon ■​ ​Have​ ​the​ ​home-screen​ ​shortcut​ ​icon​ ​be​ ​the​ ​goTenna​ ​icon ○​ ​That​ ​fact​ ​that​ ​your​ ​app/plugin​ ​is​ ​not​ ​created​ ​by​ ​goTenna​ ​Inc.​ ​must​ ​be made​ ​clear​ ​in​ ​any​ ​listing​ ​of​ ​your​ ​development​ ​product​ ​in​ ​an​ ​app

marketplace,​ ​as​ ​well​ ​as​ ​within​ ​the​ ​product's​ ​info/about​ ​screen.​ ​References​ ​to goTenna​ ​must​ ​explicitly​ ​use​ ​the​ ​phrase​ ​“Built​ ​on​ ​goTenna.”

Intro​ ​to​ ​the​ ​goTenna​ ​SDK goTenna​​is​​the ... - GitHub

... ​the​ ​goTenna​ ​SDK. goTenna​​is​​the​​world's​​first​​wireless​​platform​​for​​long-range,​​mobile,​​off-grid. Mesh​​networking. The​​goTenna​​SDK,​​allows​​you​​to​​develop​​applications​​that​​require​​direct networking​​using​​Android/iOS​​smartphones. .... Page 3 ...

161KB Sizes 0 Downloads 41 Views

Recommend Documents

Accept SDK - GitHub
1.2.2 Activating Developer Mode . ..... Microphone access must be allowed by the user the first time the application is run in order to use the audio jack for ...

Intro to Webapp - GitHub
The Public Data Availability panel ... Let's look at data availability for this cohort ... To start an analysis, we're going to select our cohort and click the New ...

Accept SDK - GitHub
Accept SDK for iOS is a mPOS solution for Apple devices that enables electronic ... Accept SDK can only run on an armv7 compatible iOS device (iPhone 3GS or.

Intro to Webapp IGV - GitHub
Home Page or the IGV Github Repository. We are grateful to the IGV team for their assistance in integrating the IGV into the ISB-CGC web application.

Intro to Google Cloud - GitHub
The Cloud Datalab web UI has two main sections: Notebooks and Sessions. ... When you click on an ipynb file in GitHub, you see it rendered (as HTML).

Intro to Google Cloud - GitHub
Now that you know your way around the Google Cloud Console, you're ready to start exploring further! The ISB-CGC platform includes an interactive Web App, ...

Intro to Webapp SeqPeek - GitHub
brought to you by. The ISB Cancer Genomics Cloud. An Introduction to the ISB-CGC Web App SeqPeek. Page 2. https://isb-cgc.appspot.com. Main Landing ...

Intro to Google Cloud - GitHub
known as “Application Default Credentials” are now created automatically. You don't really need to click on the “Go to. Credentials”, but in case you do the next ...

Mobile SDK Development Guide - GitHub
Jul 20, 2017 - Page 1 ..... Chapter 11: Files and Networking . ..... services. Salesforce provides the Salesforce App Cloud to address this need. This cloud ...

Shortcuts of the Eclipse SDK 4.5.0 - GitHub
Shortcuts of the Eclipse SDK 4.5.0. File. New. Ctrl+N. Windows. New Menu. Shift+Alt+N. Windows. Close. Ctrl+W. Windows. Close All. Shift+Ctrl+W. Windows.

intro slides - GitHub
Jun 19, 2017 - Learn core skills for doing data analysis effectively, efficiently, and reproducibly. 1. Interacting with your computer on command line (BASH/shell).

lecture 2: intro to statistics - GitHub
Continuous Variables. - Cumulative probability function. PDF has dimensions of x-1. Expectation value. Moments. Characteristic function generates moments: .... from realized sample, parameters are unknown and described probabilistically. Parameters a

Bullet 2.83 Physics SDK Manual - GitHub
Please see separate BulletQuickstart.pdf guide. ...... 10 Bullet Example Browser . ..... including PLAYSTATION 3, XBox 360, Wii, PC, Linux, Mac OSX, Android and iPhone ... You can find this quickstart guide in Bullet/docs/BulletQuickstart.pdf.

Scientific python + IPython intro - GitHub
2. Tutorial course on wavefront propagation simulations, 28/11/2013, XFEL, ... written for Python 2, and it is still the most wide- ... Generate html and pdf reports.

lecture 3: more statistics and intro to data modeling - GitHub
have more parameters than needed by the data: posteriors can be ... Modern statistical methods (Bayesian or not) .... Bayesian data analysis, Gelman et al.

Intel® Media SDK RAW Media Accelerator Sample - GitHub
application can either do the padding itself (-padding command line option), or pass the unpadded image to the Accelerator, in which case the padding is performed inside the. Accelerator pipeline. Software requirements. See \Media SDK Sample Guide.pd

POSTER: Rust SGX SDK: Towards Memory Safety in Intel ... - GitHub
What's more, the Rust en- claves are able to run as fast as the ones written in C/C++. CCS CONCEPTS ... Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee ..... 1.9/docs/Intel_SG

word to pdf sdk
Page 1 of 1. File: Word to pdf sdk. Download now. Click here if your download doesn't start automatically. Page 1 of 1. word to pdf sdk. word to pdf sdk. Open.

Inesoft PrintCE SDK
PrintCE.h - header file for eVC app (don't using PrintCE as ActiveX control) ... and PrintCEDriverWindowsCE.exe - automatic installer from Desktop PC to Pocket ...

Intro to Google for the Hill
Page 2 .... devote their limited resources to projects more strategic to their business. .... electricity from renewable energy sources that is cheaper than electricity.

Intro to Google for the Hill - PDFKUL.COM
Google also offers enterprise versions of our consumer products for businesses, organizations, and government ... Android. Android is the first truly open and comprehensive platform for mobile devices. It includes an operating system, user-interface,

SDK-80.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. SDK-80.pdf.

Intro to Solubility
How do you determine the state of the products? • Use the solubility rules to decide whether a product of an ionic reaction is insoluble in water and will thus form a precipitate ( an insoluble compound formed during a chemical reaction in solution

Intro to Sociology
+. Norms: □ Expectations about how people should behave. □ Eg. : □ At concerts people yell, scream, cheer. □ In the library, people whisper to keep quiet ...