Table of content 1. General 1 2. API principles 2 3. Hardware setup 3 4. BrightAuthor setup 4 5. Embedding Nexmosphere sensor input 5 5.1 Serial input events 5 Example: RFID Serial Input Event 6 5.2UserDefinedEvents 7 Example:MultiplepresencesensortriggersinUserDefinedEvent 8 5.3 Assign Serial Input to User Variable 9 Example: Assign presence sensor value to User Variable 10 6. Embedding Nexmosphere actuator output 11 6.1 Serial output events 11 Example:X-WaveSerialoutputcommand 12 6.2 Assign User Variables to Serial Output 13 Example:AssignUserVariabletoX-WaveSerialoutputcommand 14 7. Terminology and Additional sources 15
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
MANUALBRIGHTSIGN | NEXMOSPHERE SETUP
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
1
Ess
Ess
Ess
Ess
Ess
Ess
Int
Int
Adv
Adv
Ess
Ess
Ess
Adv
Adv
1. GeneralBrightSign’sdigitalsignalmediaplayersandNexmosphere’sXperienceplatformcanseamlesslyintegratetocreatearobustand reliable setup in which digital content and real-life sensor input are easily combined into an engaging experience.Nexmosphere and BrightSign are Technology Partners, meaning that compatibility between all BrightSign Players andNexmospherecontrollersisguaranteed.Thisdocumentoffersstep-by-stepinstructionsforfirst-timeusersonhowtosetupaBrightAuthorpresentationwithintegratedNexmospheresensor-input.
Theinformation,instructionsandexamplesprovidedinthisdocumentarecategorizedin3differentlevels:
ESSENTIAL gainabasicunderstandingwhichenablesyoutocreateaninteractiveNexmosphere/BrightsignapplicationINTERMEDIATE expandyourskillsetandcreateefficientandre-usableinteractivepresentationsADVANCED learnhowtocreatemoreadvancedpresentationswithdynamicbehavior
The information in this document is created for users who have basic knowledge of BrightSign players and BrightAuthor software. If this is not the case and you have never worked with BrightSign / BrightAuthor before, please follow BrightSign’s Quick Start instructions before continuing reading this document: https://www.brightsign.biz/support/quickstart.
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
2
2. API principlesNexmospherecontrollershaveaUSBorSerialinterfacewhichisusedtocommunicatewiththeBrightSigndigitalsignageplayer.HowtheBrightSignplayerandNexmospherecontrollercommunicateisdefinedbyNexmosphere’sserialAPIprotocol.Inthissection,themainprinciplesoftheAPIareexplained.ItisnotnecessarytofullyunderstandtheAPIstructureinordertocompletetheinstructionsinthisdocument.Tokeepitsimple,theapplicableAPIcommandsforeachexampleareexplicitlyprovided.However,inordertofullycomprehendhowtheAPIworks,werecommendreadingtheAPImanual,whichcanbedownloadedontheNexmospheresupportdocumentationpage:https://nexmosphere.com/support-documentation.
2.1 - General API logicThegeneralconceptoftheAPIistoofferaflexiblecommandsetforbothinputandoutputoperationswhichprovidesfullscriptingcontroltotheBrightSignplayer.TheNexmospherecontrolleractsasasensor/actuatorhubwhichprovidesserialoutputwhenaspecificsensorElementistriggered(forexampleapick-up,motionortouch)andprovidescontroloveroutputElements(forexampleanimatedLEDstrips)viaserialinputcommands.
2.2 - API command structureThecommandstructureforeachcommandisasfollows: TYPE ADDRESS FORMAT [ COMMAND ]
TYPE = type of command X=X-Talkcommand-thistypeofcommandisusedtoreceivefrom/controlanyElementconnectedtoanX-Talkinterface G=Genericcontrolcommand-notinthescopeofthisdocument S=Systemcommand-notinthescopeofthisdocument D=Diagnosticcommand-notinthescopeofthisdocument
ADDRESS = channel address to which the command is send valuebetween0-999
FORMAT = format of the command A=shortcommand(numberbetween0-65535) B=longcommand(asciistringof0-30characters) S=settingcommand(customformatforeachsetting)
[ = start of command fixed
COMMAND = the actual command foreachfunctionandelementthecommandisspecifiedintheserialAPIdocument
] = end of command fixed
2.3 - API addressing and structureWhenanXperiencecontrollersendsanAPIcommandtotheBrightSignplayer,theaddressindicatesbywhichElementthecommandwastriggered.Viceversa,whensendinganAPIcommandfromaBrightSignplayertoanXperiencecontroller,theaddressindicatestotheXperiencecontrollertowhichX-TalkElementthecommandisaddressed.NexmospherehasseveralrangesofXperiencecontrollers:XN,XCandXM.Forfirsttimeusers,itisrecommendedtostartwiththeXNrange.Therefore,onlyXNcontrollersareusedintheexamplesprovidedinthisdocument.
XN-RangeTheXN-180andXN-185bothhave8X-Talkinterfaces,addressed1to8.AsanaddressinanAPIcommandshouldalwaysconsistoutof3digits,theaddressesarenumbered001,002,andsoon.ThephysicallayoutoftheaddressesontheXN-180andXN-185controllerisindicatedintheimageontheright.TheXN-135has3X-Talkinterfacesofwhichthe3rdisaMicroBay.
XN XN
001 002 003
003
004
008 007 006 005
001 002
XN-180 / XN-185 XN-135
2 - API PRINCIPLESESSENTIAL
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
3
3 - HARDWARE SETUP
TherearetwooptionsforconnectinganXNcontrollertoaBrightSignplayer:viaSerialorUSB.• XN-180canbeconnectedviaSerial• XN-185/XN-135canbeconnectedviaUSB
Serial connection• WhenusinganXNcontrollerwithSerialconnection
suchastheXN-180,a3.5mmJack-JackcableisusedtoconnecttheserialinterfaceoftheXN-180totheserialinterfaceoftheBrightSignplayer.Forpowering theXN-180either theUSBportof theBrightSignplayer,ora regularUSBpowersupplycanbeused.
USB connection• WhenusinganXNcontrollerwithUSBconnection
such as the XN-185 or XN-135, an USB-A toMicro-USBcableshouldbeusedtoconnect themicro USB interface of the XN-185/XN-135 totheUSB-AinterfaceontheBrightSignplayer.TheXNcontroller ispoweredvia theUSBportof theBrightSignplayer inthiscase.Make sure the XN controller is connected to the USB port before powering up the BrightSign player.
USB connection - Split Cable• In case the XN-controller and the connected
Elements need more power then the USB-Ainterface of the BrightSign player can provide, asplitcablewithseparatepowersupplyshouldbeused.
BrightSign
XN
XN-180(Controller with RS-232 interface)
USB-A to Micro-USB cable(Power supply)
3.5mm Jack-Jack serial cable(RS-232 serial communication)
BrightSign
USB-A to Micro-USB cable(Power supply and serial communication)
XN
XN-185(Controller with USB interface)
XN-185(Controller with USB interface)
BrightSign
USB power supply(5V/2A)
Split cable to Micro-USB cable(Split cable for power & data)
XN
ESSENTIAL
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
4
4 - BRIGHTAUTHOR SETUP
BrightAuthor software1. DownloadthelatestversionofBrightAuthorfromhttps://www.brightsign.biz/digital-signage-products/brightauthor2. Open BrightAuthor
Create New Presentation3. Click“File”->“NewPresentation”4. Fillintherequiredinformation.Ontheright,an exampleisprovided5. Click“Create”
Select a Template6. ChooseaTemplate,anyTemplatewillwork.However,in thisdocument,allexamplesarecreatedina “Fullscreen”template
Set playlist type to “interactive”7. IntheupperrightcornerofthePlaylistarea,select “interactive”asplaylisttype
Set Serial settings8. Goto“File”->“Presentationproperties”->“Interactive” SettheSerialsettingstomatchtheSerialspecifications oftheAPIprotocol:
Baudrate: 115200 Data bits: 8 Parity: None Stop Bits: 1 Protocol: ASCII EOL: CR+LF
Dothisforport“0”andport“2” Click“Ok”toconfirm.
Place content in Media Library 9. Placeyourdigitalcontentinadedicatedfolder somewhereonyourPC.InBrightAuthor,openyour contentfolderasMediaLibrary(leftpartofscreen).
Save your presentation 10. Goto“File”->“Saveas”andsaveyourBrightAuthor presentation.
YounowhaveaBrightAuthorpresentationwhichyou canuseasabasisforallyourfutureinteractive BrightSign/Nexmospherepresentations.
ESSENTIAL
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
5
5 - EMBEDDING NEXMOSPHERE SENSOR INPUT
TheXNcontrollersendsaserialcommandtotheBrightSignplayereachtimeasensoristriggered(changedsensorvalue).EmbeddingNexmospheresensor-inputintoaBrightAuthorpresentationisthereforedoneviaSerialInputEvents.
5.1 - Serial Input EventIn BrightAuthor, “Events” canbe used to trigger a transition to a new state. There aremultiple typesof events such as”Timeout”,“MediaEnd”and“KeyboardInput”.However,forembeddingtheinputofaNexmospheresensorElementintoaBrightAuthorpresentation,only1typeofeventcanbeused:“SerialInput”.Foreach“SerialInput”event.Thereare4variableswhichneedtobespecified:
1. Specify port TheportspecifiesfromwhichhardwareinterfacetheSerialInputwillbereceived. IncaseofXN-180(serialinterface): 0 IncaseofXN-185/XN-135(USBinterface): 2
2. Specify serial input ThisistheactualcommandwhichtheXNcontrollersendswhenthedesiredtriggerisdetectedbyoneoftheconnectedsensorElements.ForallofNexmosphere’sElements,everyavailabletriggercommandislistedintheAPImanual,whichcanbedownloadedonNexmosphere’ssupportdocumentionpage:https://nexmosphere.com/support-documentation.Example:whenapresencesensorconnectedtoX-Talkinterface1detectsanobjectatdistanceslot4,theserialcommandwillbe:X001A[4]
3. Start state ThisisthestatetowhichtheSerialInputeventislinked.Inotherwords:onlywhentheBrightAuthorpresentationisinthisstate,theSerialInputeventisactive.
4. Action ThisdetermineswhichactiontheBrightAuthorpresentationshouldexecutewhenthespecifiedSerialInputisreceived.There are 5 options: Transition to new state + specifying which state
Return to prior state Remain on current state Remainoncurrentstate(StopPlayback) Remainoncurrentstate(StopPlayback,ClearScreen)
Onthefollowingpage,apracticalstep-by-stepexampleisprovidedonhowtoimplementaSerialInputEvent.Inthisspecificexample: Hardware Setup• XN-185orXN-135controller• XR-DR1 + antenna + RFID tags• BrightSignplayer
Functionality• TheBrightAuthorpresentationhas2states:“Default”
and“State1”.Eachstatecontainsavideofile.• IfRFIDTag1ispickedup,theBrightSignswitchesto
“State1”.• IfRFIDtag1isplacedback,theBrightSignswitches
backto“Default”.
Example - RFID Serial Input Event
XR
XR-C10BrightSign
USB-A to Micro-USB cable(Power supply and serial communication)
XN
XN-185(Controller with USB interface)
XR-DR1(Antenna driver)
XR-C10(RFID Antenna)
Tag(RFID Tag, nr 1)
ESSENTIAL
Step 1 - Create 2 states1. DragavideofilefromtheMediaLibraryintotheinteractive playlist.Doubleclickon the state, andfill in “Default” as State name.2. Drag a 2nd video file from the Media Library into the interactive playlist. Doubleclick on the state, and fill in “State1”asStatename.Please note that renaming the states to “Default” and “State 1” is only done to make this example clear and unambiguous.
Step 2 - Add Serial Input Event (for pick-up of tag 1)3. Drag the Serial Input Event onto state “Default”. The SerialInputeventcanbefoundunderthe“events”tabin theMediaLibrarysection(leftofscreen).Assoonasthe Serial InputEvent is added, apop-upappears inwhich theparametersoftheSerialInputEventcanbefilledin.
Step 4 - Fill in parameters of Serial Input Event4. FillintheparametersoftheSerialInputEventasshownin thescreenshotontherightandclickOK.Note that the serial input XR[PU001] is the API command which is sent from the XN controller to the BrightSign player when RFID tag 1 is picked up.
Step 5 - Add second Serial Input Event (for place-back of tag 1)5. DragtheSerialInputeventontostate“State1”.Fillinthe parameters of this Serial Input Event as shown inthescreenshotontherightandclickOK.Note that the serial input XR[PB001] is the API command which is sent from the XN controller to the Brightsign player when RFID tag 1 is placed back.
The end result of your presentation should look similar to the screenshot on the right: two states, which are linked to each other via Serial Input events.
The presentation can now be published and tested on the BrightSign player.
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
6
5 - EMBEDDING NEXMOSPHERE SENSOR INPUTESSENTIAL
5.2 - User Defined EventsInBrightAuthor,UserDefinedEventsallowyoutosaveinteractiveeventtriggersyouuseoften,sothatyoucanaccessthemmorereadilyinthefuture.UserDefinedEventssaveboththeeventtypeandeventparameters.Forexample,ifyoufrequentlyuseaSerialInputEventonport2with“X001A[3]”asinput,youcancreateaUserDefinedEventwiththisspecification.Inthefuture,insteadofhavingtoseteachSerialInputEventtothesespecifications,youcansimplyuseyourpreviouslycreatedUserDefinedEvent.
Additionally,UserDefinedEventsallowyoutogroupmultipleeventsintooneUserDefinedEvent.AnyeventwithintheUserDefinedEventwillcausethedesiredtransition.Thiswillsaveyoutimebyeliminatingtheneedfordefiningmultipleeventsthatperformthesametransition.WhenintegratingNexmospheresensorinputintoaBrightAuthorpresentation,thisfunctionalitycomesinhandywhenyouwantthesametriggertohappenformultiplesensorinputvalues.WhencreatingaUserDefinedEvent,thefollowingactionneedstobeexecuted:
1. Open the User Defined Events window IntheMediaLibrary(leftpartofscreen),clickthetab“userevents”.Secondly,click“manage”. The“ManageUserEvents”windowwillpop-up.
2. Name your User Defined Event Clickthe+buttonforaddingaUserDefinedEvent.AUserEventwindowwillpop-up. FillinanameforyourUserDefinedEvent.Thiscanbeanynamewhichyoudeemfit.
3. Add Serial Input Events to your User Defined Event Clickthe+“AddEvent”button.Anewinputrowappears.Fillinthedesiredparametersforyourevent: Column1: select“Serial Input”inthedrop-downmenu Column2: fillintherightportnumber(0 or 2) Column3: specifytheserialinput,e.g.X001A[4] RepeatthisstepforallSerialInputEventsthatyouwanttohavegroupedinyourUserDefinedEvent.
User Defined Events can also be imported and exported. This allows you to transfer the User Defined Events from one presentation to another. For more information, visit https://docs.brightsign.biz/display/DOC/User+Defined+Events
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
7
5 - EMBEDDING NEXMOSPHERE SENSOR INPUT
Onthefollowingpage,apracticalstep-by-stepexampleisprovidedonhowtoimplementauserDefinedEvent.Inthisspecificexample: Hardware Setup• XN-135controllerwithMM-3Presenceinterface• Presencesensor(e.g.S-CM04)+sensorcable• BrightSignplayer
Functionality• TheBrightAuthorpresentationhas2states:“Default”
and“State1”.Eachstatecontainsavideofile.• If the presence sensor is triggered (value between
zone4-10),theBrightSignswitchesto“State1”.• Ifthepresencesensorisuntriggered(valuebetween
zone1-3),theBrightSignswitchesbackto“Default”.
Example - Multiple presence sensor triggers in User Defined Event
BrightSign
USB-A to Micro-USB cable(Power supply and serial communication)
XN-135(Xperience controller)
S-CM04(Presence sensor)
MM-34(Presence sensor interface)
XN
INTERMEDIATE
Step 1 - Create 2 states1. DragavideofilefromtheMediaLibraryintotheinteractive playlist.Doubleclickon the state, andfill in “Default” as State name.2. Drag a 2nd video file from the Media Library into the interactive playlist. Doubleclick on the state, and fill in “State1”asStatename.Please note that renaming the states to “Default” and “State 1” is only done to make this example clear and unambiguous.
Step 2 - Create a User Event, named “Presence trigger 4-10”3. Gotothe“userevents”tabintheMediaLibrarysection.4. Click“Manage”.Apop-upwindowappears5. Click“AddUserEvent”6. AfterName,fillin“Presencetrigger4-10”7. AddtheSerialInputEventsasshowninthescreenshot ontheright.ClickOK.
Step 3 - Create a 2nd User Event, “Presence untrigger 4-10”8. AddtheSerial InputEventsasshowninthescreenshot ontheright.ClickOK.
Step 4 - Add the User Events to the interactive presentation9. Underthe“userevents”tab,thetwoUserEventswhich you created are shown. Drag the “Presence trigger 4-10” event onto state “Default”. A pop-up window appears. Select “Transition to new state” and specify “State1”asnextstate.ClickOK.10. Dragthe“Presenceuntrigger1-3”eventonto“State1”. Select“Transitiontonewstate”andspecify“Default”as nextstate.ClickOK.
The end result of your presentation should look similar to the screenshot on the right: two states, which are linked to each other via User Defined Events.
The presentation can now be published and tested on the BrightSign player.
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
8
5 - EMBEDDING NEXMOSPHERE SENSOR INPUTINTERMEDIATE
5.3 - User variablesInBrightAuthor,UserVariablesarecustomizablevalueswhichcanbeusedtocreatedynamicbehaviorinyourpresentation.Whenusedin“LiveText”and“UserVariablestates”,UserVariablesdisplaythecurrentvalueofthevariable.Thevaluecanalsodynamicallybechangedduringapresentationusingthe“SetVariable”or“Increase/Decrease”commands.
YoucanuseSerialInputEventstomodifythevalueofaUserVariable.Byusingtheso-called<*>wildcard,youcanassignpartofaserialinputtoaUserVariable.Inpractice,thismeansthatyoucanassignthevalueofaNexmospheresensortoavariable,andusethisvariabletosetConditionalTargetsortodisplaythevalueliveinyourpresentation.InordertoassignpartofaserialinputtoaUserVariableandcreateaConditionalTarget,followthestepsbelow:
1. Create User Variables Goto“File”->“PresentationProperties”.Selectthe“Variables”tab. Click+“AddVariable.Fillinthedesiredparametersforyourvariable: Name: anynameyoudeemfit,e.g.“variable_1” DefaultValue: anyvalue Access: Select“Private”(“Shared:isoutsidethescopeofthisdocument) Type: Select“Local”(“Networked”and“Systemvariable”areoutsidethescopeofthisdocument) ClickOK.
2. Assign serial input to User Variable Addaserialinputeventtoyourpresentation.ASerialInputEventwindowappears. Inthe“Specifyserialinput”field,entertheexpectedserialinputandreplacethepartyouwanttoassigntoavariablewith<*>.ForexampleX003A[<*>]. Next,clickonthe“Advanced”tabintheSerialInputEventwindow.Atthebottom,select“Assignwildcardtovariable”andselectthevariableinthedropdownmenutowhichyouwanttoassignthe<*>wildcard.
3. Set User Variable as Conditional Target Atthebottom,inthe“Advanced”tab,click“SetConditionalTargets”. Click+“AddConditionalTarget”andfillintheconditions.E.g.“variable_1”greaterthan“1”.
Specifywhatshouldhappenwhentheconditionaltargetismet,e.g.“Transitiontonewstate”.
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
9
5 - EMBEDDING NEXMOSPHERE SENSOR INPUT
Onthefollowingpage,apracticalstep-by-stepexampleisprovidedonhowtoassignthevalueofapresencesensortoaUserVariableandsetaConditionalTargetInthisspecificexample: Hardware Setup• XN-135controllerwithMM-3Presenceinterface• Presencesensor(e.g.S-CM04)+sensorcable• BrightSignplayer
Functionality• TheBrightAuthorpresentationhas2states:“Default”
and“State1”.Eachstatecontainsavideofile.• If the presence sensor value is >=4, the BrightSign
switchesto“State1”.• If the presence sensor value is <4, the BrightSign
switchesbackto“Default”.
Example - Assign presence sensor value to User Variable and set Conditional Target
BrightSign
USB-A to Micro-USB cable(Power supply and serial communication)
XN-135(Xperience controller)
S-CM04(Presence sensor)
MM-34(Presence sensor interface)
XN
ADVANCED
Step 1 - Create 2 states1. Create2statesandnamethem“Default”and“State1”.
Fordetailedinstructionsseepreviousexamples.
Step 2 - Create a User Variable named “presence_zone”2. Goto“File”->“Presentationproperties”3. Selectthe“Variables”tab.Click+“AddVariable”4. Fill in the parameters of the variable as shown in the
screenshotontheright.ClickOK.
Step 3 - Add a Serial Input event to state “Default”5. IntheSerialInputEventpop-upwindow,fillin: Specifyport2 SpecifyserialinputX003A[<*>] Select“Remain on current state”
Step 4 - Assign <*> wildcard in Serial Input to variable6. Clickonthe“AdvancedTab Check “Assign wildcard to variable” in the dropdown menuontheright,select“proximity-zone”
Step 5 - Set Conditional Target for transition to “State 1”7. Clickon“SetConditionalTargets”. Clickon+“AddConditionalTarget. FillintheConditionalTargetparametersasshowninthe screenshotontheright.ClickOK(3x).
Step 6 - Add a Serial Input event to state “State 1”8. Repeattheinstructionsdescribedinstep3and4.
Step 7 - Set Conditional Target for transition back to “Default”9. Clickon“SetConditionalTargets”. Clickon+“AddConditionalTarget. Fill in theContional Targetparameters as shown in the screenshotontheright.ClickOK(3x).
The end result of your presentation should look similar to the screenshot on the right: two states, with each a separate Serial Input Event, which both have a Conditional Target.
The presentation can now be published and tested on the BrightSign player.
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
10
5 - EMBEDDING NEXMOSPHERE SENSOR INPUTADVANCED
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
11
6 - EMBEDDING NEXMOSPHERE ACTUATOR OUTPUT
InordertosettheoutputorasettingofanElement,aSerialOutputneedstobesentfromtheBrightSigntotheXNcontroller towhichtheElementisconnected.EmbeddingNexmosphereactuatoroutput-forexampleLEDcontrol-intoaBrightAuthor presentationisthereforedoneviaa“SendSerial”command.
6.1 - Send Serial string (EOL)InBrightAuthor,“Commands”canbeimplementedtocontroloutputononeoftheavailableinterfaces.TherearemultipletypesofCommandssuchas”SetAudio“and“GPIO”.However,forcontrollingtheoutputofaNexmospheresensorElementinaBrightAuthorpresentation,only1typeofCommandcanbeused:“Send”.Foreach“Send”command,thereare3variableswhichneedtobespecified:
1. Command Parameter Thecommandparameterspecifiesthetypeofcommandwhichneedstobesent.ForcontrollingNexmosphereoutput,thisshouldalwaysbeSerial string (EOL).
2. Specify port TheportspecifiestowhichhardwareinterfacetheSerialstringwillbesent. IncaseofXN-180(serialinterface): 0 IncaseofXN-185/XN-135(USBinterface): 2
3. String ThisistheactualASCIIstringwhichtheBrightSignsendstotheXNcontrollertocontroltheoutputoftheconnectedElements.EveryavailableoutputandsettingcommandforeachofNexmosphere’sElementsislistedintheAPImanual,whichcanbedownloadedfromNexmosphere’ssupportdocumentionpage:https://nexmosphere.com/support-documentation.Example:tosettheoutputofanX-WaveLEDconnectedtoX-Talkinterface1tosolidblue,theserialcommandtobeusedis:X001B[299305].
WhensendingconsecutivecontrolcommandstoanXperiencecontroller,itisrecommendedtoincorporatea50mSdelay.Inthenextexampleitisexplainedhowtodothis.
Onthefollowingpage,apracticalstep-by-stepexampleisprovidedonhow to implementa “SendSerialStringEOL”command.Inthisspecificexample: Hardware Setup• BrightSignplayer• XN-185orXN-135controller• XR-DR1 + antenna + RFID tags• XW-L95animatedLEDstrip
Functionality• TheBrightAuthorpresentationhas2states:“Default”
and“State1”.Eachstatecontainsavideofile.• IfRFIDTag1 ispickedup,theBrightSignswitches
to“State1”andsetstheX-WaveLEDtoaredwavepattern.
• IfRFIDtag1isplacedback,theBrightSignswitchesback to “Default” and sets the X-Wave LED to solidblue.
Example - X-Wave Serial output command with User Variables
XR
XR-C10
BrightSign
USB-A to Micro-USB cable(Power supply and serial communication)
XN
XN-185(Controller with USB interface)
XR-DR1(Antenna driver)
XW-L95(animated LED strip)
XR-C10(RFID Antenna)
Tag(RFID Tag, nr 1)
XW-L9
ESSENTIAL
Step 1 - Open the BA presentation created in the first example1. In the example on this page, we will expand the
BrightAuthorpresentationcreatedinthefirstexampleon page 6.
Step 2 - Add Send command in state “Default”2. Doubleclickonstate“Default”.3. Selectthe“Advanced”tab.4. Below“EntryCommands”.clickon+“AddCommand”5. Fill in theparametersof theCommandasshown in the
screenshot on the right.
Step 3 - Add 50mS pause in state “6. Below“EntryCommands”clickon+“AddCommand”7. Fill in theparametersof thePausecommandasshown
in the screenshot on the right.
Step 4 - Add Send command in state “State 1”8. Doubleclickonstate“Default”.9. Selectthe“Advanced”tab.10. Below“EntryCommands”clickon+“AddCommand”11. Fill in theparametersof theCommandasshown in the
screenshot on the right.
The end result of your presentation should look similar to the screenshot on the right: two states, which are linked to each other via Serial Input events. When entering each state, a serial command to control the X-Wave LEDs is send.
The presentation can now be published and tested on the BrightSign player.
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
12
6 - EMBEDDING NEXMOSPHERE ACTUATOR OUTPUTESSENTIAL
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
11
6 - EMBEDDING NEXMOSPHERE ACTUATOR OUTPUT
InBrightAuthor,UserVariablesarecustomizablevalueswhichcanbeusedtocreatedynamicbehaviorinyourpresentation.Whenusedin“LiveText”and“UserVariablestates”,UserVariablesdisplaythecurrentvalueofthevariable.Thevaluecanalsodynamicallybechangedduringapresentationusingthe“SetVariable”or“Increase/Decrease”commands.
AUserVariablecanalsobeutilizedina“SendSerial”command.Byenteringthenameofthevariablebetweentwosetsofdollarsigns(e.g.“$$variable1$$”)intotheserialstring,thevalueofthevariablecanbeembeddedintheserialoutput.Theadvantageofusingthismethodisthatincasethesameserialoutputcommandisembeddedinmultiplestates,andyouneedtochangeit,youonlyneedtochange1variableinsteadofhavingtochangetheserialoutputseparatlyineachstate.Furthermore,BrightSignoffersconvenientwaysofchangingUserVariableswithouthavingtoaccessBrightAuthor,suchas the BrightSign app and the User Variable webpage. Visit https://docs.brightsign.biz/display/DOC/Variables#Variables-DeviceWebPageDisplayformoreinformation.InordertoassignUserVariablestoserialoutput:
Onthefollowingpage,apracticalstep-by-stepexampleisprovidedonhow to implementa “SendSerialStringEOL”command.Inthisspecificexample: Hardware Setup• XN-185orXN-135controller• XR-DR1 + antenna + RFID tags• XW-L95animatedLEDstrip• BrightSignplayer
Functionality• TheBrightAuthorpresentationhas2states:“Default”
and“State1”.Eachstatecontainsavideofile.• IfRFIDTag1 ispickedup,theBrightSignswitches
to“State1”andsettheX-WaveLEDtoaredwavepattern.
• IfRFIDtag1isplacedback,theBrightSignswitchesback to “Default” and sets the X-Wave LED to solidblue.
Example - X-Wave Serial output command
XR
XR-C10
BrightSign
USB-A to Micro-USB cable(Power supply and serial communication)
XN
XN-185(Controller with USB interface)
XR-DR1(Antenna driver)
XW-L95(animated LED strip)
XR-C10(RFID Antenna)
Tag(RFID Tag, nr 1)
XW-L9
1. Create User Variables Goto“File”->“PresentationProperties”.Selectthe“Variables”tab. Click+“AddVariable”.Fillinthedesiredparametersforyourvariable: Name: anynameyoudeemfit,e.g.“variable_1” DefaultValue: thedesiredvalueofyourvariable Access: Select“Private”(“Shared:isoutsidethescopeofthisdocument) Type: Select“Local”(“Networked”and“Systemvariable”areoutsidethescopeofthisdocument) ClickOK.
Assign User Variable to Serial output Gotothe“Advanced”taboftheMediaPropertieswindowofthestatetowhichyouwanttoadda“SendSerial” command.Select“Send”commandand“Serialstring(EOL)”asCommandparameter.Inthe“string”field,entertheserialoutputandreplacethepartofthestringyouwanttohavereplacedwiththeUserVariablename.PlacethenameoftheUserVariablebetweentwodollarsigns.Forexample:X002B[$$variable_1$$]. Incasethevalueofvariable_1is299305,theserialoutputwillbeX002B[299305].
ADVANCED
Step 1 - Open the BA presentation created in the first example1. In the example on this page, we will expand the
BrightAuthorpresentationcreatedinthefirstexampleon page 6.
Step 2 - Create User Variables2. Goto“File”->“Presentationproperties”3. Selectthe“Variables”tab.Click+“AddVariable”2x4. Fill in the parameters of the variables as shown in the screenshotontheright.ClickOK.
Step 3 - Add User Variable to Send command in state “Default”4. Doubleclickonstate“Default”.5. Selectthe“Advanced”tab.6. Below“EntryCommands”clickon+“AddCommand”(2x).7. FillintheparametersoftheCommandsasshowninthe screenshot on the right. Note that the name of the variable is placed between $$.
Step 4- Add User Variable to Send command in state “State 1”7. Doubleclickonstate“State1”.8. Selectthe“Advanced”tab.9. Below“EntryCommands”.clickon+“AddCommand”2x.7. FillintheparametersoftheCommandsasshowninthe screenshot on the right. Note that the name of the variable is placed between $$.
The end result of your presentation should look similar to the screenshot on the right: two states, which are linked to each other via Serial Input events. When entering each state, a serial command to control the X-Wave LEDs is sent.
The presentation can now be published and tested on the BrightSign player.
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
14
6 - EMBEDDING NEXMOSPHERE ACTUATOR OUTPUTADVANCED
N e x m o s p h e r eH igh Tech Campus 10 (Mμ bu i l d i ng )5656 AE E i ndhoven • T he Ne t he r l a nds
T + 31 40 240 7070E s u p p o r t @ n e x m o s p h e r e . c o m
©2017-2019Nexmosphere.Allrightsreserved.v1.0/02-19Allcontentcontainedhereinissubjecttochangewithoutpriornotice.
15
7 - TERMINOLOGY AND ADDITIONAL SOURCES
Infollowingtheinstructionsinthismanualyou’llbeabletosetupyourowninteractivepresentationsusingtheNexmospheresensorhubincombinationwithBrightSignandBrightAuthor.Ifwantingtogomoreindetailonadvanced/othertopicspleaserefertothefollowingsources:https://nexmosphere.com/support-documentation/https://docs.brightsign.biz/display/DOC/BrightAuthor+User+Guide
The BrightAuthor examples explained in this setup manual can be downloaded from our example library:https://drive.google.com/drive/u/0/folders/1lo1pkeABNNtQmy1JUj6o0MPpYAQb3ohG
Element (Nexmosphere)AnyofNexmosphere’ssensorsandactuatorswhichcanbeconnectedtoanXperiencecontroller.
Xperience controller (Nexmosphere)ThecontrollertowhichNexmosphere’sElementsareconnectedandwhichservesasaninterfacehubbetweenthesensorsandtheBrightSignplayer.
API (Nexmosphere)Nexmosphere’sserialAPIprotocoldefineshow theBrightSignplayerandNexmospherecontrollercommunicate.https://nexmosphere.com/support-documentation/
Serial Input Event (BrightAuthor)TheSerialInputEventspecifiestheactionthatoccurswhentheBrightSignplayerreceivesinputfromadeviceconnectedto a serial port.https://docs.brightsign.biz/display/DOC/Serial+Input
Commands (BrightAuthor) Commands can be implemented to control output on one of the available interfaces. For controlling the output of aNexmosphereElementinaBrightAuthorpresentation,the“Send”-“Serialstring(EOL)”isused.Youcanaddcommandstointeractiveeventsortostates.Ifyouaddacommandtotheinteractiveevent,thecommandwillbeperformedwhenthatevent occurs.https://docs.brightsign.biz/display/DOC/Commands
User Defined Events (BrightAuthor)UserDefinedEventsallowyoutogroupmultipleevents intooneUserDefinedEvent.Anyeventwithin theUserDefinedEventwillcausethedesiredtransition.WhenintegratingNexmospheresensorinputintoaBrightAuthorpresentation,thisfunctionalitycomesinhandywhenyouwantthesametriggertohappenformultiplesensorinputvalues.https://docs.brightsign.biz/display/DOC/User+Defined+Events
User Variables (BrightAuthor)UserVariablesarecustomizablevalueswhichcanbeusedtocreatedynamicbehavior inyourpresentation.Byusingtheso-called<*>wildcard,youcanassignpartofaserialinputtoaUserVariable.Inpractice,thismeansthatyoucanassignthevalueofaNexmospheresensortoavariable,andusethisvariabletosetConditionalTargets.https://docs.brightsign.biz/display/DOC/Variables
Conditional Target (BrightAuthor)ConditionalTargetsallowyoutochangethesettingsofaneventtransitiondependingonthevalueofaUserVariable.Withthisfeature,youcanassociatethebehaviorofapresentationtothevalueofaNexmospheresensor.https://docs.brightsign.biz/display/DOC/Conditional+Targets