MANUAL BRIGHTSIGN | NEXMOSPHERE SETUP€¦ · Nexmosphere controllers have a USB or Serial interface which is used to communicate with the BrightSign digital signage player. How the
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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.
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
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.
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 theBrightSignplayerinthiscase.
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)
Place content in Media Library 9. Placeyourdigitalcontentinadedicatedfolder somewhereonyourPC.InBrightAuthor,openyour contentfolderasMediaLibrary(leftpartofscreen).
Save your presentation 10. Goto“File”->“Saveas”andsaveyourBrightAuthor presentation.
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)
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
5.2 - User Defined EventsInBrightAuthor,UserDefinedEventsallowyoutosaveinteractiveeventtriggersyouuseoften,sothatyoucanaccessthemmorereadilyinthefuture.UserDefinedEventssaveboththeeventtypeandeventparameters.Forexample,ifyoufrequentlyuseaSerialInputEventonport2with“X001A[3]”asinput,youcancreateaUserDefinedEventwiththisspecification.Inthefuture,insteadofhavingtoseteachSerialInputEventtothesespecifications,youcansimplyuseyourpreviouslycreatedUserDefinedEvent.
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
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
5.3 - User variablesInBrightAuthor,UserVariablesarecustomizablevalueswhichcanbeusedtocreatedynamicbehaviorinyourpresentation.Whenusedin“LiveText”and“UserVariablestates”,UserVariablesdisplaythecurrentvalueofthevariable.Thevaluecanalsodynamicallybechangedduringapresentationusingthe“SetVariable”or“Increase/Decrease”commands.
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”.
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
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
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
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
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
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.
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