http://wiki.amtech.mx/mediawiki/api.php?action=feedcontributions&user=Amarrero&feedformat=atomAMTech WikiDocs - User contributions [en]2024-03-28T23:36:40ZUser contributionsMediaWiki 1.26.0http://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4198Releases2022-05-10T02:13:06Z<p>Amarrero: /* To be released */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* If issue with java SSL certificates (registering an user) check that the file /etc/ssl/certs/java/cacerts contains the CA certificates of the system and it's in JKS format. Otherwise run the following workaoround:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <code>cd /etc/ssl/certs/java && sudo mv cacerts cacerts.old && sudo keytool -importkeystore -destkeystore cacerts -deststoretype jks -srckeystore cacerts.old -srcstoretype pkcs12</code> (to change from pkcs12 to jks storetype, type can be checked with <code>keytool -list -keystore cacerts | grep "Keystore type"</code>)<br />
<br />
'''Metadata'''<br />
* import types: <br />
** (done) smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** (done) _name<br />
** Observations<br />
*** (done) targetthings<br />
*** (done) producer<br />
* (done) update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* Observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Several improvements in authentication/authorization.<br />
** Changes in authentication/authorization cache.<br />
** The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
* Projects for the storage of observation in the datalake and the backend and frontend of the dashboard were adapted to support the deployment in premises.<br />
* The dashboard backend is now deployed by tenant.<br />
* MQTT accepts only observations where the producer (isP=true in targetThings) exists<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
'''Fixes'''<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* All changes to a Service must be done via the Activity Publication page. Only description, caption and icon can be updated in a Service resource directly via the menu option Activity->Service<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** Parameters should be passed using the constraint uri and the specific property id. Ex. /amtech/observers/sampleObserver/entitiesFilter/endCustomer/constraints/_nameeq/value (in older versions the property id was not passed as parameter so only the value of the constraint was being replaced)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*New websocket endpoint that allow consuming messages from multiple topics at the same time. The list of topics can be dynamically modified by sending control messages through the same websocket communication.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*Crud observations on location fields are not anymore sent when the format changes (from wkt to location json) or some spaces are added or removed<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*Solved issue with the retrieval of allegedly non-existent objects in the database when REST internal calls were present in the middle of an active transaction by using thread-independent transactions for the retrieving action.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* Added aggregation to M2MBridge bridges in a local area network, to achieve the configuration of this functionality, the following supported properties has been added to the ''amtechM2MBridge'' thing type<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* Resources with supported properties that were added or removed from their metadata appear as dirty (to be saved) in the editor and a message is shown<br />
* Security changes<br />
** Actors in follower admin are automatically refreshed according to the services they are subscribed to. (requires only publication of the activity with new actors, and follower sign in)<br />
* Supported properties holding links to entities can now be forced to use current tenant constraint by setting to true the property ''forceTenantConstraint'' in its semantic<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4192Releases2022-05-09T18:29:21Z<p>Amarrero: /* To be released */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* If issue with java SSL certificates (registering an user) check that the file /etc/ssl/certs/java/cacerts contains the CA certificates of the system and it's in JKS format. Otherwise run the following workaoround:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <code>cd /etc/ssl/certs/java && sudo mv cacerts cacerts.old && sudo keytool -importkeystore -destkeystore cacerts -deststoretype jks -srckeystore cacerts.old -srcstoretype pkcs12</code> (to change from pkcs12 to jks storetype, type can be checked with <code>keytool -list -keystore cacerts | grep "Keystore type"</code>)<br />
<br />
'''Metadata'''<br />
* import types: <br />
** (done) smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** _name<br />
** Observations<br />
*** targetthings<br />
*** producer<br />
* update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Several improvements in authentication/authorization.<br />
** Changes in authentication/authorization cache.<br />
** The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
* Projects for the storage of observation in the datalake and the backend and frontend of the <br />
dashboard were adapted to support the deployment of premises.<br />
* The dashboard backend is now deployed by tenant.<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* All changes to a Service must be done via the Activity Publication page. Only description, caption and icon can be updated in a Service resource directly via the menu option Activity->Service<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** Parameters should be passed using the constraint uri and the specific property id. Ex. /amtech/observers/sampleObserver/entitiesFilter/endCustomer/constraints/_nameeq/value (in older versions the property id was not passed as parameter so only the value of the constraint was being replaced)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*New websocket endpoint that allow consuming messages from multiple topics at the same time. The list of topics can be dynamically modified by sending control messages through the same websocket communication.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*Crud observations on location fields are not anymore sent when the format changes (from wkt to location json) or some spaces are added or removed<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*Solved issue with the retrieval of allegedly non-existent objects in the database when REST internal calls were present in the middle of an active transaction by using thread-independent transactions for the retrieving action.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* Added aggregation to M2MBridge bridges in a local area network, to achieve the configuration of this functionality, the following supported properties has been added to the ''amtechM2MBridge'' thing type<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* Resources with supported properties that were added or removed from their metadata appear as dirty (to be saved) in the editor and a message is shown<br />
* Security changes<br />
** Actors in follower admin are automatically refreshed according to the services they are subscribed to. (requires only publication of the activity with new actors, and follower sign in)<br />
* Supported properties holding links to entities can now be forced to use current tenant constraint by setting to true the property ''forceTenantConstraint'' in its semantic<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=3983Releases2019-12-23T14:53:47Z<p>Amarrero: /* Release Dec 21st (2019-12-21) */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*New websocket endpoint that allow consuming messages from multiple topics at the same time. The list of topics can be dynamically modified by sending control messages through the same websocket communication.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*Crud observations on location fields are not anymore sent when the format changes (from wkt to location json) or some spaces are added or removed<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*Solved issue with the retrieval of allegedly non-existent objects in the database when REST internal calls were present in the middle of an active transaction by using thread-independent transactions for the retrieving action.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* Added aggregation to M2MBridge bridges in a local area network, to achieve the configuration of this functionality, the following supported properties has been added to the ''amtechM2MBridge'' thing type<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* Resources with supported properties that were added or removed from their metadata appear as dirty (to be saved) in the editor and a message is shown<br />
* Security changes<br />
** Actors in follower admin are automatically refreshed according to the services they are subscribed to. (requires only publication of the activity with new actors, and follower sign in)<br />
* Supported properties holding links to entities can now be forced to use current tenant constraint by setting to true the property ''forceTenantConstraint'' in its semantic<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** Parameters should be passed using the constraint uri and the specific property id. Ex. /amtech/observers/sampleObserver/entitiesFilter/endCustomer/constraints/_nameeq/value (in older versions the property id was not passed as parameter so only the value of the constraint was being replaced)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* All changes to a Service must be done via the Activity Publication page. Only description, caption and icon can be updated in a Service resource directly via the menu option Activity->Service<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* If issue with java SSL certificates (registering an user) check that the file /etc/ssl/certs/java/cacerts contains the CA certificates of the system and it's in JKS format. Otherwise run the following workaoround:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <code>cd /etc/ssl/certs/java && sudo mv cacerts cacerts.old && sudo keytool -importkeystore -destkeystore cacerts -deststoretype jks -srckeystore cacerts.old -srcstoretype pkcs12</code> (to change from pkcs12 to jks storetype, type can be checked with <code>keytool -list -keystore cacerts | grep "Keystore type"</code>)</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=3982Releases2019-12-23T14:52:49Z<p>Amarrero: </p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*New websocket endpoint that allow consuming messages from multiple topics at the same time. The list of topics can be dynamically modified by sending control messages through the same websocket communication.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*Crud observations on location fields are not anymore sent when the format changes (from wkt to location json) or some spaces are added or removed<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*Solved issue with the retrieval of allegedly non-existent objects in the database when REST internal calls were present in the middle of an active transaction by using thread-independent transactions for the retrieving action.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* Added aggregation to M2MBridge bridges in a local area network, to achieve the configuration of this functionality, the following supported properties has been added to the ''amtechM2MBridge'' thing type<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* Resources with supported properties that were added or removed from their metadata appear as dirty (to be saved) in the editor and a message is shown<br />
* Security changes<br />
** Actors in follower admin are automatically refreshed according to the services they are subscribed to. (requires only publication of the activity with new actors, and follower sign in)<br />
* Supported properties holding links to entities can now be forced to use current tenant constraint by setting to true the property ''forceTenantConstraint'' in its semantic<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** Parameters should be passed using the constraint uri and the specific property id. Ex. /amtech/observers/sampleObserver/entitiesFilter/endCustomer/constraints/_nameeq/value (in older versions the property id was not passed as parameter so only the value of the constraint was being replaced)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* All changes to a Service must be done via the Activity Publication page. Only description, caption and icon can be updated in a Service resource directly via the menu option Activity->Service<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* If issue with java SSL certificates (registering an user) check that the file /etc/ssl/certs/java/cacerts contains the CA certificates of the system and it's in JKS format. Otherwise run the following workaoround:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <code>cd /etc/ssl/certs/java && sudo mv cacerts cacerts.old && sudo keytool -importkeystore -destkeystore cacerts -deststoretype jks -srckeystore cacerts.old -srcstoretype pkcs12</code> (to change from pkcs12 to jks storetype, type can be checked with <code>keytool -list -keystore cacerts | grep "Keystore type"</code>)</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=3976Releases2019-11-13T16:55:20Z<p>Amarrero: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*New websocket endpoint that allow consuming messages from multiple topics at the same time. The list of topics can be dynamically modified by sending control messages through the same websocket communication.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*Crud observations on location fields are not anymore sent when the format changes (from wkt to location json) or some spaces are added or removed<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*Solved issue with the retrieval of allegedly non-existent objects in the database when REST internal calls were present in the middle of an active transaction by using thread-independent transactions for the retrieving action.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* Added aggregation to M2MBridge bridges in a local area network, to achieve the configuration of this functionality, the following supported properties has been added to the ''amtechM2MBridge'' thing type<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* Resources with supported properties that were added or removed from their metadata appear as dirty (to be saved) in the editor and a message is shown<br />
* Security changes<br />
** Actors in follower admin are automatically refreshed according to the services they are subscribed to. (requires only publication of the activity with new actors, and follower sign in)<br />
* Supported properties holding links to entities can now be forced to use current tenant constraint by setting to true the property ''forceTenantConstraint'' in its semantic<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** Parameters should be passed using the constraint uri and the specific property id. Ex. /amtech/observers/sampleObserver/entitiesFilter/endCustomer/constraints/_nameeq/value (in older versions the property id was not passed as parameter so only the value of the constraint was being replaced)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== To be released ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* All changes to a Service must be done via the Activity Publication page. Only description, caption and icon can be updated in a Service resource directly via the menu option Activity->Service<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
<br />
'''Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* If issue with java SSL certificates (registering an user) check that the file /etc/ssl/certs/java/cacerts contains the CA certificates of the system and it's in JKS format. Otherwise run the following workaoround:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <code>cd /etc/ssl/certs/java && sudo mv cacerts cacerts.old && sudo keytool -importkeystore -destkeystore cacerts -deststoretype jks -srckeystore cacerts.old -srcstoretype pkcs12</code> (to change from pkcs12 to jks storetype, type can be checked with <code>keytool -list -keystore cacerts | grep "Keystore type"</code>)</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Observation_production_config&diff=3969Observation production config2019-08-19T03:26:59Z<p>Amarrero: /* Configuration options */</p>
<hr />
<div>=== What is it===<br />
<br />
* Configuration of the observation types produced by the bridge instances<br />
* It is configured for each bridge instance type<br />
* It is automatically updated when bridge instances are deleted (if it is the last instances of its type in the bridge instance list, the observation production config for that thing type is deleted)<br />
<br />
=== Configuration options ===<br />
<br />
* When you access this configuration, you're presented with a list of thing types (initially empty).<br />
* You can add new thing types as a way of expressing a production for all the bridge thing instances belonging to that type. Therefore only those types associated to the things that are already configured as bridge instances are shown (things in the ''bridgeInstances'' property).<br />
* Once the type is added to the observation production configuration you can navigate to the produced observations and add new observation types. This allows you to express that those bridge instances that belong to the selected type can produce the observation that you're about to add/modify.<br />
* So you select an observation type. It has got to be an observation type listed in the observation types that this thing type can produce. See the definition of the corresponding thing type, ''observationproductionconfig'' property<br />
* Once selected you should configure the following properties:<br />
*; topic : This is the topic or topics where this observation will be addressed to. Unless the simple definition of a [[Sensor's_network#Topics|topic]] in an observation, this allows you to specify several destinations. It consist of vertical bar (|) separated list of single destinations, each one consisting in a destination protocol and an address. Currently there is support for the following destination protocols:<br />
*:; amtech: Topic in amtech cloud. In this case the address follows the same rules explained [[Sensor's_network#Topics|here]]. Example: <code>amtech:/thingsInBoardroom/llrpReasoner/#{smoothingResult}</code>.<br />
*:; edge: The observation will be produced for it to be consumed by edge reasoners. No address is allowed for this destination.<br />
*:; mqtt or mqtts: The observation will be directed to a MQTT broker. The address must express the host and port of the MQTT broker but it might also contain authentication information, certificates for SSL protocol and other options. Example: <code>mqtt://user:pass@mqtthost.example.com:1883</code>.<br />
*; producer: This is the definition of the [[Sensor's_network|producer]] when this observation will be sent in the bridge.<br />
*; targetthings: This is the definition of the [[Sensor's_network#targetthings|targetthings]] when this observation will be sent in the bridge.<br />
<br />
Remarks: The Amtech M2MBridge uses this configuration to automatically fill this fields in the observations it sends. The follower must have a role with access polices to the [[Activities#Thing types|thing type]] in order to get this information<br />
<br />
=== Example ===<br />
Let's show some more configuration details through an example:<br />
* As we can appreciate from the previous explanation, the configuration involves thing types and the observation types they produce. The first step is to open the bridge and go to observation production configuration setting:<br />
*: [[File:amtech_bridge_observationproductionconfig.png|850px|thumbnail|center|Open bridge and go to observation production configuration settings]]<br />
* When you navigate into it you're presented with a list of already configured thing types (initially empty):<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype_list.png|850px|thumbnail|center|Thing type list for observation production configuration]]<br />
* Then you can add or navigate to an existing entity type. Let's choose LLRPReader for the example:<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype.png|850px|thumbnail|center|Specific thing type configuration]]<br />
* Then you can browse the list of observation types that it produces:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs_list.png|850px|thumbnail|center|Observation type list for a give thing type]]<br />
* Again you can add or delete existing entries: observation types in this case. Let's go to graiEPC config:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs.png|850px|thumbnail|center|Specific observation type configuration]]<br />
* The example shows a LLRPReader that is configured to produce observations of type graiEPC. Then you configure the observation properties required to produce this observation and enforce security including fixed settings for topic, targetthings, producer, guestusers and guesttenants (See [[Sensor's network#Observations and observation types|Observations and observation types]]). In the example we set:<br />
** [[Sensor%27s_network#Topics|topic]] to /thingsInBoardroom/LLRPReader/#{smoothingResult}. #{smoothingResult} placeholder evaluated to ''new'' or ''lost'' so it allows us to group observations in corresponding child topics.<br />
** [[Sensor%27s_network|producer]] to #{thingId}. #{thingId} placeholder is replaced by the thing ID of the thing sending the observation.<br />
** [[Sensor%27s_network#targetthings|targetthings]] through a new page where you can add or edit existing target types:<br />
**: [[File:amtech_bridge_observationproductionconfig_targettypes_list.png|850px|thumbnail|center|List of target types for the targetthings]]<br />
**: For the example let's add/modify the type thingInBoardroom so we're presented with the targetthings properties:<br />
**: [[File:amtech_bridge_observationproductionconfig_targetthings.png|850px|thumbnail|center|Configuration of instances for the selected type in targetthings]]<br />
**: So you can configure the resource Id to #{thingId}:#{serialNumber} for instance. #{thingId} and #{serialNumber} placeholders are replaced with the thing ID of the thing sending the observation and the serial number from the graiEPC observation to uniquely identify the target thing.<br />
**: [[File:observ-prod-bridge-targething.png|850px|thumbnail|center|targetthings]]<br />
<br />
=== Placeholders ===<br />
<br />
Allows to set identifiers that will be substituted by real values at different intelligence layers. See [[Sensor%27s_network#Placeholders_substitution|placeholders]].<br />
<br />
Let's see some examples:<br />
* guesttenants set to #{companyPrefix} - In this case we use the placeholder to set guesttenants from graiEPC value companyPrefix. It allows you to control the access to observations and things from the intelligence in the edge.<br />
* topic set to /thingsInBoardroom/LLRPReader/#{smoothingResult}/#{country} - placeholder is used to group observations by new or lost and then by country.<br />
: [[File:observ-prod-placeholder.png|850px|thumbnail|center|placeholder]]<br />
<br />
=== Relation between thing types and the observation types allowed in the observation production configuration ===<br />
<br />
For the relation among thing types and observation production configuration (See [[Activities#Thing types|Thing types]])<br />
<br />
In the definition of a thing type you express the list of observation types it produces. It constrains the list of observation types that can be selected in the observation production configuration for that thing type. For instance, you're presented with a screen like this when you try to add new observations for the LLRPReader type.<br />
[[File:obser-prod-bridge-sel-observ.png|850px|thumbnail|center|Select observation type]]<br />
<br />
=== Thing type without observation production configuration ===<br />
<br />
A use case could require that an instance of thing type is needed just to receive [[Actions#Send_command|commands]], in that case the bridge configuration allows to set a thing instance without observation production configuration. '''Remark this thing type instance will not produce observations.'''</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Observation_production_config&diff=3968Observation production config2019-08-19T03:22:54Z<p>Amarrero: /* Configuration options */</p>
<hr />
<div>=== What is it===<br />
<br />
* Configuration of the observation types produced by the bridge instances<br />
* It is configured for each bridge instance type<br />
* It is automatically updated when bridge instances are deleted (if it is the last instances of its type in the bridge instance list, the observation production config for that thing type is deleted)<br />
<br />
=== Configuration options ===<br />
<br />
* When you access this configuration, you're presented with a list of thing types (initially empty).<br />
* You can add new thing types as a way of expressing a production for all the bridge thing instances belonging to that type. Therefore only those types associated to the things that are already configured as bridge instances are shown (things in the ''bridgeInstances'' property).<br />
* Once the type is added to the observation production configuration you can navigate to the produced observations and add new observation types. This allows you to express that those bridge instances that belong to the selected type can produce the observation that you're about to add/modify.<br />
* So you select an observation type. It has got to be an observation type listed in the observation types that this thing type can produce. See the definition of the corresponding thing type, ''observationproductionconfig'' property<br />
* Once selected you should configure the following properties:<br />
**; topic : This is the topic or topics where this observation will be addressed to. Unless the simple definition of a [[Sensor's_network#Topics|topic]] in an observation, this allows you to specify several destinations. It consist of vertical bar (|) separated list of single destinations, each one consisting in a destination protocol and an address. Currently there is support for the following destination protocols:<br />
*:; amtech: Topic in amtech cloud. In this case the address follows the same rules explained [[Sensor's_network#Topics|here]]. Example: <code>amtech:/thingsInBoardroom/llrpReasoner/#{smoothingResult}</code>.<br />
*:; edge: The observation will be produced for it to be consumed by edge reasoners. No address is allowed for this destination.<br />
*:; mqtt or mqtts: The observation will be directed to a MQTT broker. The address must express the host and port of the MQTT broker but it might also contain authentication information, certificates for SSL protocol and other options. Example: <code>mqtt://user:pass@mqtthost.example.com:1883</code>.<br />
**; producer: This is the definition of the [[Sensor's_network|producer]] when this observation will be sent in the bridge.<br />
**; targetthings: This is the definition of the [[Sensor's_network#targetthings|targetthings]] when this observation will be sent in the bridge.<br />
<br />
Remarks: The Amtech M2MBridge uses this configuration to automatically fill this fields in the observations it sends. The follower must have a role with access polices to the [[Activities#Thing types|thing type]] in order to get this information<br />
<br />
=== Example ===<br />
Let's show some more configuration details through an example:<br />
* As we can appreciate from the previous explanation, the configuration involves thing types and the observation types they produce. The first step is to open the bridge and go to observation production configuration setting:<br />
*: [[File:amtech_bridge_observationproductionconfig.png|850px|thumbnail|center|Open bridge and go to observation production configuration settings]]<br />
* When you navigate into it you're presented with a list of already configured thing types (initially empty):<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype_list.png|850px|thumbnail|center|Thing type list for observation production configuration]]<br />
* Then you can add or navigate to an existing entity type. Let's choose LLRPReader for the example:<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype.png|850px|thumbnail|center|Specific thing type configuration]]<br />
* Then you can browse the list of observation types that it produces:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs_list.png|850px|thumbnail|center|Observation type list for a give thing type]]<br />
* Again you can add or delete existing entries: observation types in this case. Let's go to graiEPC config:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs.png|850px|thumbnail|center|Specific observation type configuration]]<br />
* The example shows a LLRPReader that is configured to produce observations of type graiEPC. Then you configure the observation properties required to produce this observation and enforce security including fixed settings for topic, targetthings, producer, guestusers and guesttenants (See [[Sensor's network#Observations and observation types|Observations and observation types]]). In the example we set:<br />
** [[Sensor%27s_network#Topics|topic]] to /thingsInBoardroom/LLRPReader/#{smoothingResult}. #{smoothingResult} placeholder evaluated to ''new'' or ''lost'' so it allows us to group observations in corresponding child topics.<br />
** [[Sensor%27s_network|producer]] to #{thingId}. #{thingId} placeholder is replaced by the thing ID of the thing sending the observation.<br />
** [[Sensor%27s_network#targetthings|targetthings]] through a new page where you can add or edit existing target types:<br />
**: [[File:amtech_bridge_observationproductionconfig_targettypes_list.png|850px|thumbnail|center|List of target types for the targetthings]]<br />
**: For the example let's add/modify the type thingInBoardroom so we're presented with the targetthings properties:<br />
**: [[File:amtech_bridge_observationproductionconfig_targetthings.png|850px|thumbnail|center|Configuration of instances for the selected type in targetthings]]<br />
**: So you can configure the resource Id to #{thingId}:#{serialNumber} for instance. #{thingId} and #{serialNumber} placeholders are replaced with the thing ID of the thing sending the observation and the serial number from the graiEPC observation to uniquely identify the target thing.<br />
**: [[File:observ-prod-bridge-targething.png|850px|thumbnail|center|targetthings]]<br />
<br />
=== Placeholders ===<br />
<br />
Allows to set identifiers that will be substituted by real values at different intelligence layers. See [[Sensor%27s_network#Placeholders_substitution|placeholders]].<br />
<br />
Let's see some examples:<br />
* guesttenants set to #{companyPrefix} - In this case we use the placeholder to set guesttenants from graiEPC value companyPrefix. It allows you to control the access to observations and things from the intelligence in the edge.<br />
* topic set to /thingsInBoardroom/LLRPReader/#{smoothingResult}/#{country} - placeholder is used to group observations by new or lost and then by country.<br />
: [[File:observ-prod-placeholder.png|850px|thumbnail|center|placeholder]]<br />
<br />
=== Relation between thing types and the observation types allowed in the observation production configuration ===<br />
<br />
For the relation among thing types and observation production configuration (See [[Activities#Thing types|Thing types]])<br />
<br />
In the definition of a thing type you express the list of observation types it produces. It constrains the list of observation types that can be selected in the observation production configuration for that thing type. For instance, you're presented with a screen like this when you try to add new observations for the LLRPReader type.<br />
[[File:obser-prod-bridge-sel-observ.png|850px|thumbnail|center|Select observation type]]<br />
<br />
=== Thing type without observation production configuration ===<br />
<br />
A use case could require that an instance of thing type is needed just to receive [[Actions#Send_command|commands]], in that case the bridge configuration allows to set a thing instance without observation production configuration. '''Remark this thing type instance will not produce observations.'''</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Observation_production_config&diff=3967Observation production config2019-08-19T03:22:35Z<p>Amarrero: /* Configuration options */</p>
<hr />
<div>=== What is it===<br />
<br />
* Configuration of the observation types produced by the bridge instances<br />
* It is configured for each bridge instance type<br />
* It is automatically updated when bridge instances are deleted (if it is the last instances of its type in the bridge instance list, the observation production config for that thing type is deleted)<br />
<br />
=== Configuration options ===<br />
<br />
* When you access this configuration, you're presented with a list of thing types (initially empty).<br />
* You can add new thing types as a way of expressing a production for all the bridge thing instances belonging to that type. Therefore only those types associated to the things that are already configured as bridge instances are shown (things in the ''bridgeInstances'' property).<br />
* Once the type is added to the observation production configuration you can navigate to the produced observations and add new observation types. This allows you to express that those bridge instances that belong to the selected type can produce the observation that you're about to add/modify.<br />
* So you select an observation type. It has got to be an observation type listed in the observation types that this thing type can produce. See the definition of the corresponding thing type, ''observationproductionconfig'' property<br />
* Once selected you should configure the following properties:<br />
**; topic : This is the topic or topics where this observation will be addressed to. Unless the simple definition of a [[Sensor's_network#Topics|topic]] in an observation, this allows you to specify several destinations. It consist of vertical bar (|) separated list of single destinations, each one consisting in a destination protocol and an address. Currently there is support for the following destination protocols:<br />
*:; amtech: Topic in amtech cloud. In this case the address follows the same rules explained [[Sensor's_network#Topics|here]]. Example: <code>amtech:/thingsInBoardroom/llrpReasoner/#{smoothingResult}.</code><br />
*:; edge: The observation will be produced for it to be consumed by edge reasoners. No address is allowed for this destination.<br />
*:; mqtt or mqtts: The observation will be directed to a MQTT broker. The address must express the host and port of the MQTT broker but it might also contain authentication information, certificates for SSL protocol and other options. Example: <code>mqtt://user:pass@mqtthost.example.com:1883</code>.<br />
**; producer: This is the definition of the [[Sensor's_network|producer]] when this observation will be sent in the bridge.<br />
**; targetthings: This is the definition of the [[Sensor's_network#targetthings|targetthings]] when this observation will be sent in the bridge.<br />
<br />
Remarks: The Amtech M2MBridge uses this configuration to automatically fill this fields in the observations it sends. The follower must have a role with access polices to the [[Activities#Thing types|thing type]] in order to get this information<br />
<br />
=== Example ===<br />
Let's show some more configuration details through an example:<br />
* As we can appreciate from the previous explanation, the configuration involves thing types and the observation types they produce. The first step is to open the bridge and go to observation production configuration setting:<br />
*: [[File:amtech_bridge_observationproductionconfig.png|850px|thumbnail|center|Open bridge and go to observation production configuration settings]]<br />
* When you navigate into it you're presented with a list of already configured thing types (initially empty):<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype_list.png|850px|thumbnail|center|Thing type list for observation production configuration]]<br />
* Then you can add or navigate to an existing entity type. Let's choose LLRPReader for the example:<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype.png|850px|thumbnail|center|Specific thing type configuration]]<br />
* Then you can browse the list of observation types that it produces:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs_list.png|850px|thumbnail|center|Observation type list for a give thing type]]<br />
* Again you can add or delete existing entries: observation types in this case. Let's go to graiEPC config:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs.png|850px|thumbnail|center|Specific observation type configuration]]<br />
* The example shows a LLRPReader that is configured to produce observations of type graiEPC. Then you configure the observation properties required to produce this observation and enforce security including fixed settings for topic, targetthings, producer, guestusers and guesttenants (See [[Sensor's network#Observations and observation types|Observations and observation types]]). In the example we set:<br />
** [[Sensor%27s_network#Topics|topic]] to /thingsInBoardroom/LLRPReader/#{smoothingResult}. #{smoothingResult} placeholder evaluated to ''new'' or ''lost'' so it allows us to group observations in corresponding child topics.<br />
** [[Sensor%27s_network|producer]] to #{thingId}. #{thingId} placeholder is replaced by the thing ID of the thing sending the observation.<br />
** [[Sensor%27s_network#targetthings|targetthings]] through a new page where you can add or edit existing target types:<br />
**: [[File:amtech_bridge_observationproductionconfig_targettypes_list.png|850px|thumbnail|center|List of target types for the targetthings]]<br />
**: For the example let's add/modify the type thingInBoardroom so we're presented with the targetthings properties:<br />
**: [[File:amtech_bridge_observationproductionconfig_targetthings.png|850px|thumbnail|center|Configuration of instances for the selected type in targetthings]]<br />
**: So you can configure the resource Id to #{thingId}:#{serialNumber} for instance. #{thingId} and #{serialNumber} placeholders are replaced with the thing ID of the thing sending the observation and the serial number from the graiEPC observation to uniquely identify the target thing.<br />
**: [[File:observ-prod-bridge-targething.png|850px|thumbnail|center|targetthings]]<br />
<br />
=== Placeholders ===<br />
<br />
Allows to set identifiers that will be substituted by real values at different intelligence layers. See [[Sensor%27s_network#Placeholders_substitution|placeholders]].<br />
<br />
Let's see some examples:<br />
* guesttenants set to #{companyPrefix} - In this case we use the placeholder to set guesttenants from graiEPC value companyPrefix. It allows you to control the access to observations and things from the intelligence in the edge.<br />
* topic set to /thingsInBoardroom/LLRPReader/#{smoothingResult}/#{country} - placeholder is used to group observations by new or lost and then by country.<br />
: [[File:observ-prod-placeholder.png|850px|thumbnail|center|placeholder]]<br />
<br />
=== Relation between thing types and the observation types allowed in the observation production configuration ===<br />
<br />
For the relation among thing types and observation production configuration (See [[Activities#Thing types|Thing types]])<br />
<br />
In the definition of a thing type you express the list of observation types it produces. It constrains the list of observation types that can be selected in the observation production configuration for that thing type. For instance, you're presented with a screen like this when you try to add new observations for the LLRPReader type.<br />
[[File:obser-prod-bridge-sel-observ.png|850px|thumbnail|center|Select observation type]]<br />
<br />
=== Thing type without observation production configuration ===<br />
<br />
A use case could require that an instance of thing type is needed just to receive [[Actions#Send_command|commands]], in that case the bridge configuration allows to set a thing instance without observation production configuration. '''Remark this thing type instance will not produce observations.'''</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Observation_production_config&diff=3966Observation production config2019-08-19T03:21:56Z<p>Amarrero: /* Configuration options */</p>
<hr />
<div>=== What is it===<br />
<br />
* Configuration of the observation types produced by the bridge instances<br />
* It is configured for each bridge instance type<br />
* It is automatically updated when bridge instances are deleted (if it is the last instances of its type in the bridge instance list, the observation production config for that thing type is deleted)<br />
<br />
=== Configuration options ===<br />
<br />
* When you access this configuration, you're presented with a list of thing types (initially empty).<br />
* You can add new thing types as a way of expressing a production for all the bridge thing instances belonging to that type. Therefore only those types associated to the things that are already configured as bridge instances are shown (things in the ''bridgeInstances'' property).<br />
* Once the type is added to the observation production configuration you can navigate to the produced observations and add new observation types. This allows you to express that those bridge instances that belong to the selected type can produce the observation that you're about to add/modify.<br />
* So you select an observation type. It has got to be an observation type listed in the observation types that this thing type can produce. See the definition of the corresponding thing type, ''observationproductionconfig'' property<br />
* Once selected you should configure the following properties:<br />
**; topic : This is the topic or topics where this observation will be addressed to. Unless the simple definition of a [[Sensor's_network#Topics|topic]] in an observation, this allows you to specify several destinations. It consist of vertical bar (|) separated list of single destinations, each one consisting in a destination protocol and an address. Currently there is support for the following destination protocols:<br />
*:; amtech: Topic in amtech cloud. In this case the address follows the same rules explained [[Sensor's_network#Topics|here]]. Example: <code>amtech:/thingsInBoardroom/llrpReasoner/#{smoothingResult}.<br />
*:; edge: The observation will be produced for it to be consumed by edge reasoners. No address is allowed for this destination.<br />
*:; mqtt or mqtts: The observation will be directed to a MQTT broker. The address must express the host and port of the MQTT broker but it might also contain authentication information, certificates for SSL protocol and other options. Example: <code>mqtt://user:pass@mqtthost.example.com:1883</code>.<br />
**; producer: This is the definition of the [[Sensor's_network|producer]] when this observation will be sent in the bridge.<br />
**; targetthings: This is the definition of the [[Sensor's_network#targetthings|targetthings]] when this observation will be sent in the bridge.<br />
<br />
Remarks: The Amtech M2MBridge uses this configuration to automatically fill this fields in the observations it sends. The follower must have a role with access polices to the [[Activities#Thing types|thing type]] in order to get this information<br />
<br />
=== Example ===<br />
Let's show some more configuration details through an example:<br />
* As we can appreciate from the previous explanation, the configuration involves thing types and the observation types they produce. The first step is to open the bridge and go to observation production configuration setting:<br />
*: [[File:amtech_bridge_observationproductionconfig.png|850px|thumbnail|center|Open bridge and go to observation production configuration settings]]<br />
* When you navigate into it you're presented with a list of already configured thing types (initially empty):<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype_list.png|850px|thumbnail|center|Thing type list for observation production configuration]]<br />
* Then you can add or navigate to an existing entity type. Let's choose LLRPReader for the example:<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype.png|850px|thumbnail|center|Specific thing type configuration]]<br />
* Then you can browse the list of observation types that it produces:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs_list.png|850px|thumbnail|center|Observation type list for a give thing type]]<br />
* Again you can add or delete existing entries: observation types in this case. Let's go to graiEPC config:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs.png|850px|thumbnail|center|Specific observation type configuration]]<br />
* The example shows a LLRPReader that is configured to produce observations of type graiEPC. Then you configure the observation properties required to produce this observation and enforce security including fixed settings for topic, targetthings, producer, guestusers and guesttenants (See [[Sensor's network#Observations and observation types|Observations and observation types]]). In the example we set:<br />
** [[Sensor%27s_network#Topics|topic]] to /thingsInBoardroom/LLRPReader/#{smoothingResult}. #{smoothingResult} placeholder evaluated to ''new'' or ''lost'' so it allows us to group observations in corresponding child topics.<br />
** [[Sensor%27s_network|producer]] to #{thingId}. #{thingId} placeholder is replaced by the thing ID of the thing sending the observation.<br />
** [[Sensor%27s_network#targetthings|targetthings]] through a new page where you can add or edit existing target types:<br />
**: [[File:amtech_bridge_observationproductionconfig_targettypes_list.png|850px|thumbnail|center|List of target types for the targetthings]]<br />
**: For the example let's add/modify the type thingInBoardroom so we're presented with the targetthings properties:<br />
**: [[File:amtech_bridge_observationproductionconfig_targetthings.png|850px|thumbnail|center|Configuration of instances for the selected type in targetthings]]<br />
**: So you can configure the resource Id to #{thingId}:#{serialNumber} for instance. #{thingId} and #{serialNumber} placeholders are replaced with the thing ID of the thing sending the observation and the serial number from the graiEPC observation to uniquely identify the target thing.<br />
**: [[File:observ-prod-bridge-targething.png|850px|thumbnail|center|targetthings]]<br />
<br />
=== Placeholders ===<br />
<br />
Allows to set identifiers that will be substituted by real values at different intelligence layers. See [[Sensor%27s_network#Placeholders_substitution|placeholders]].<br />
<br />
Let's see some examples:<br />
* guesttenants set to #{companyPrefix} - In this case we use the placeholder to set guesttenants from graiEPC value companyPrefix. It allows you to control the access to observations and things from the intelligence in the edge.<br />
* topic set to /thingsInBoardroom/LLRPReader/#{smoothingResult}/#{country} - placeholder is used to group observations by new or lost and then by country.<br />
: [[File:observ-prod-placeholder.png|850px|thumbnail|center|placeholder]]<br />
<br />
=== Relation between thing types and the observation types allowed in the observation production configuration ===<br />
<br />
For the relation among thing types and observation production configuration (See [[Activities#Thing types|Thing types]])<br />
<br />
In the definition of a thing type you express the list of observation types it produces. It constrains the list of observation types that can be selected in the observation production configuration for that thing type. For instance, you're presented with a screen like this when you try to add new observations for the LLRPReader type.<br />
[[File:obser-prod-bridge-sel-observ.png|850px|thumbnail|center|Select observation type]]<br />
<br />
=== Thing type without observation production configuration ===<br />
<br />
A use case could require that an instance of thing type is needed just to receive [[Actions#Send_command|commands]], in that case the bridge configuration allows to set a thing instance without observation production configuration. '''Remark this thing type instance will not produce observations.'''</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Observation_production_config&diff=3965Observation production config2019-08-19T03:21:30Z<p>Amarrero: /* Configuration options */</p>
<hr />
<div>=== What is it===<br />
<br />
* Configuration of the observation types produced by the bridge instances<br />
* It is configured for each bridge instance type<br />
* It is automatically updated when bridge instances are deleted (if it is the last instances of its type in the bridge instance list, the observation production config for that thing type is deleted)<br />
<br />
=== Configuration options ===<br />
<br />
* When you access this configuration, you're presented with a list of thing types (initially empty).<br />
* You can add new thing types as a way of expressing a production for all the bridge thing instances belonging to that type. Therefore only those types associated to the things that are already configured as bridge instances are shown (things in the ''bridgeInstances'' property).<br />
* Once the type is added to the observation production configuration you can navigate to the produced observations and add new observation types. This allows you to express that those bridge instances that belong to the selected type can produce the observation that you're about to add/modify.<br />
* So you select an observation type. It has got to be an observation type listed in the observation types that this thing type can produce. See the definition of the corresponding thing type, ''observationproductionconfig'' property<br />
* Once selected you should configure the following properties:<br />
*; topic : This is the topic or topics where this observation will be addressed to. Unless the simple definition of a [[Sensor's_network#Topics|topic]] in an observation, this allows you to specify several destinations. It consist of vertical bar (|) separated list of single destinations, each one consisting in a destination protocol and an address. Currently there is support for the following destination protocols:<br />
*:; amtech: Topic in amtech cloud. In this case the address follows the same rules explained [[Sensor's_network#Topics|here]]. Example: <code>amtech:/thingsInBoardroom/llrpReasoner/#{smoothingResult}.<br />
*:; edge: The observation will be produced for it to be consumed by edge reasoners. No address is allowed for this destination.<br />
*:; mqtt or mqtts: The observation will be directed to a MQTT broker. The address must express the host and port of the MQTT broker but it might also contain authentication information, certificates for SSL protocol and other options. Example: <code>mqtt://user:pass@mqtthost.example.com:1883</code>.<br />
*; producer: This is the definition of the [[Sensor's_network|producer]] when this observation will be sent in the bridge.<br />
*; targetthings: This is the definition of the [[Sensor's_network#targetthings|targetthings]] when this observation will be sent in the bridge.<br />
<br />
Remarks: The Amtech M2MBridge uses this configuration to automatically fill this fields in the observations it sends. The follower must have a role with access polices to the [[Activities#Thing types|thing type]] in order to get this information<br />
<br />
=== Example ===<br />
Let's show some more configuration details through an example:<br />
* As we can appreciate from the previous explanation, the configuration involves thing types and the observation types they produce. The first step is to open the bridge and go to observation production configuration setting:<br />
*: [[File:amtech_bridge_observationproductionconfig.png|850px|thumbnail|center|Open bridge and go to observation production configuration settings]]<br />
* When you navigate into it you're presented with a list of already configured thing types (initially empty):<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype_list.png|850px|thumbnail|center|Thing type list for observation production configuration]]<br />
* Then you can add or navigate to an existing entity type. Let's choose LLRPReader for the example:<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype.png|850px|thumbnail|center|Specific thing type configuration]]<br />
* Then you can browse the list of observation types that it produces:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs_list.png|850px|thumbnail|center|Observation type list for a give thing type]]<br />
* Again you can add or delete existing entries: observation types in this case. Let's go to graiEPC config:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs.png|850px|thumbnail|center|Specific observation type configuration]]<br />
* The example shows a LLRPReader that is configured to produce observations of type graiEPC. Then you configure the observation properties required to produce this observation and enforce security including fixed settings for topic, targetthings, producer, guestusers and guesttenants (See [[Sensor's network#Observations and observation types|Observations and observation types]]). In the example we set:<br />
** [[Sensor%27s_network#Topics|topic]] to /thingsInBoardroom/LLRPReader/#{smoothingResult}. #{smoothingResult} placeholder evaluated to ''new'' or ''lost'' so it allows us to group observations in corresponding child topics.<br />
** [[Sensor%27s_network|producer]] to #{thingId}. #{thingId} placeholder is replaced by the thing ID of the thing sending the observation.<br />
** [[Sensor%27s_network#targetthings|targetthings]] through a new page where you can add or edit existing target types:<br />
**: [[File:amtech_bridge_observationproductionconfig_targettypes_list.png|850px|thumbnail|center|List of target types for the targetthings]]<br />
**: For the example let's add/modify the type thingInBoardroom so we're presented with the targetthings properties:<br />
**: [[File:amtech_bridge_observationproductionconfig_targetthings.png|850px|thumbnail|center|Configuration of instances for the selected type in targetthings]]<br />
**: So you can configure the resource Id to #{thingId}:#{serialNumber} for instance. #{thingId} and #{serialNumber} placeholders are replaced with the thing ID of the thing sending the observation and the serial number from the graiEPC observation to uniquely identify the target thing.<br />
**: [[File:observ-prod-bridge-targething.png|850px|thumbnail|center|targetthings]]<br />
<br />
=== Placeholders ===<br />
<br />
Allows to set identifiers that will be substituted by real values at different intelligence layers. See [[Sensor%27s_network#Placeholders_substitution|placeholders]].<br />
<br />
Let's see some examples:<br />
* guesttenants set to #{companyPrefix} - In this case we use the placeholder to set guesttenants from graiEPC value companyPrefix. It allows you to control the access to observations and things from the intelligence in the edge.<br />
* topic set to /thingsInBoardroom/LLRPReader/#{smoothingResult}/#{country} - placeholder is used to group observations by new or lost and then by country.<br />
: [[File:observ-prod-placeholder.png|850px|thumbnail|center|placeholder]]<br />
<br />
=== Relation between thing types and the observation types allowed in the observation production configuration ===<br />
<br />
For the relation among thing types and observation production configuration (See [[Activities#Thing types|Thing types]])<br />
<br />
In the definition of a thing type you express the list of observation types it produces. It constrains the list of observation types that can be selected in the observation production configuration for that thing type. For instance, you're presented with a screen like this when you try to add new observations for the LLRPReader type.<br />
[[File:obser-prod-bridge-sel-observ.png|850px|thumbnail|center|Select observation type]]<br />
<br />
=== Thing type without observation production configuration ===<br />
<br />
A use case could require that an instance of thing type is needed just to receive [[Actions#Send_command|commands]], in that case the bridge configuration allows to set a thing instance without observation production configuration. '''Remark this thing type instance will not produce observations.'''</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Observation_production_config&diff=3964Observation production config2019-08-19T02:46:14Z<p>Amarrero: /* Configuration options */</p>
<hr />
<div>=== What is it===<br />
<br />
* Configuration of the observation types produced by the bridge instances<br />
* It is configured for each bridge instance type<br />
* It is automatically updated when bridge instances are deleted (if it is the last instances of its type in the bridge instance list, the observation production config for that thing type is deleted)<br />
<br />
=== Configuration options ===<br />
<br />
* When you access this configuration, you're presented with a list of thing types (initially empty).<br />
* You can add new thing types as a way of expressing a production for all the bridge thing instances belonging to that type. Therefore only those types associated to the things that are already configured as bridge instances are shown (things in the ''bridgeInstances'' property).<br />
* Once the type is added to the observation production configuration you can navigate to the produced observations and add new observation types. This allows you to express that those bridge instances that belong to the selected type can produce the observation that you're about to add/modify.<br />
* So you select an observation type. It has got to be an observation type listed in the observation types that this thing type can produce. See the definition of the corresponding thing type, ''observationproductionconfig'' property<br />
* Once selected you should configure the following properties:<br />
** [[Sensor%27s_network#Topics|topic]]<br />
** [[Sensor%27s_network|producer]] <br />
** [[Sensor%27s_network#targetthings|targetthings]]<br />
<br />
Remarks: The Amtech M2MBridge uses this configuration to automatically fill this fields in the observations it sends. The follower must have a role with access polices to the [[Activities#Thing types|thing type]] in order to get this information<br />
<br />
=== Example ===<br />
Let's show some more configuration details through an example:<br />
* As we can appreciate from the previous explanation, the configuration involves thing types and the observation types they produce. The first step is to open the bridge and go to observation production configuration setting:<br />
*: [[File:amtech_bridge_observationproductionconfig.png|850px|thumbnail|center|Open bridge and go to observation production configuration settings]]<br />
* When you navigate into it you're presented with a list of already configured thing types (initially empty):<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype_list.png|850px|thumbnail|center|Thing type list for observation production configuration]]<br />
* Then you can add or navigate to an existing entity type. Let's choose LLRPReader for the example:<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype.png|850px|thumbnail|center|Specific thing type configuration]]<br />
* Then you can browse the list of observation types that it produces:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs_list.png|850px|thumbnail|center|Observation type list for a give thing type]]<br />
* Again you can add or delete existing entries: observation types in this case. Let's go to graiEPC config:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs.png|850px|thumbnail|center|Specific observation type configuration]]<br />
* The example shows a LLRPReader that is configured to produce observations of type graiEPC. Then you configure the observation properties required to produce this observation and enforce security including fixed settings for topic, targetthings, producer, guestusers and guesttenants (See [[Sensor's network#Observations and observation types|Observations and observation types]]). In the example we set:<br />
** [[Sensor%27s_network#Topics|topic]] to /thingsInBoardroom/LLRPReader/#{smoothingResult}. #{smoothingResult} placeholder evaluated to ''new'' or ''lost'' so it allows us to group observations in corresponding child topics.<br />
** [[Sensor%27s_network|producer]] to #{thingId}. #{thingId} placeholder is replaced by the thing ID of the thing sending the observation.<br />
** [[Sensor%27s_network#targetthings|targetthings]] through a new page where you can add or edit existing target types:<br />
**: [[File:amtech_bridge_observationproductionconfig_targettypes_list.png|850px|thumbnail|center|List of target types for the targetthings]]<br />
**: For the example let's add/modify the type thingInBoardroom so we're presented with the targetthings properties:<br />
**: [[File:amtech_bridge_observationproductionconfig_targetthings.png|850px|thumbnail|center|Configuration of instances for the selected type in targetthings]]<br />
**: So you can configure the resource Id to #{thingId}:#{serialNumber} for instance. #{thingId} and #{serialNumber} placeholders are replaced with the thing ID of the thing sending the observation and the serial number from the graiEPC observation to uniquely identify the target thing.<br />
**: [[File:observ-prod-bridge-targething.png|850px|thumbnail|center|targetthings]]<br />
<br />
=== Placeholders ===<br />
<br />
Allows to set identifiers that will be substituted by real values at different intelligence layers. See [[Sensor%27s_network#Placeholders_substitution|placeholders]].<br />
<br />
Let's see some examples:<br />
* guesttenants set to #{companyPrefix} - In this case we use the placeholder to set guesttenants from graiEPC value companyPrefix. It allows you to control the access to observations and things from the intelligence in the edge.<br />
* topic set to /thingsInBoardroom/LLRPReader/#{smoothingResult}/#{country} - placeholder is used to group observations by new or lost and then by country.<br />
: [[File:observ-prod-placeholder.png|850px|thumbnail|center|placeholder]]<br />
<br />
=== Relation between thing types and the observation types allowed in the observation production configuration ===<br />
<br />
For the relation among thing types and observation production configuration (See [[Activities#Thing types|Thing types]])<br />
<br />
In the definition of a thing type you express the list of observation types it produces. It constrains the list of observation types that can be selected in the observation production configuration for that thing type. For instance, you're presented with a screen like this when you try to add new observations for the LLRPReader type.<br />
[[File:obser-prod-bridge-sel-observ.png|850px|thumbnail|center|Select observation type]]<br />
<br />
=== Thing type without observation production configuration ===<br />
<br />
A use case could require that an instance of thing type is needed just to receive [[Actions#Send_command|commands]], in that case the bridge configuration allows to set a thing instance without observation production configuration. '''Remark this thing type instance will not produce observations.'''</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Observation_production_config&diff=3963Observation production config2019-08-19T02:43:27Z<p>Amarrero: /* Placeholders */</p>
<hr />
<div>=== What is it===<br />
<br />
* Configuration of the observation types produced by the bridge instances<br />
* It is configured for each bridge instance type<br />
* It is automatically updated when bridge instances are deleted (if it is the last instances of its type in the bridge instance list, the observation production config for that thing type is deleted)<br />
<br />
=== Configuration options ===<br />
<br />
* When you access this configuration, you're presented with a list of thing types (initially empty).<br />
* You can add new thing types as a way of expressing a production for all the bridge thing instances belonging to that type. Therefore only those types associated to the things that are already configured as bridge instances are shown (things in the ''bridgeInstances'' property).<br />
* Once the type is added to the observation production configuration you can navigate to the produced observations and add new observation types. This allows you to express that those bridge instances that belong to the selected type can produce the observation that you're about to add/modify.<br />
* So you select an observation type. It has got to be an observation type listed in the observation types that this thing type can produce. See the definition of the corresponding thing type, ''observationproductionconfig'' property<br />
* Once selected you should configure the following properties:<br />
** [[Sensor%27s_network#Topics|topic]]<br />
** [[Sensor%27s_network|producer]] <br />
** [[Sensor%27s_network#targetthings|targetthings]]<br />
<br />
Remarks: The Amtech M2M bridge uses this configuration to automatically fill this fields in the observations it sends. The follower must have a role with access polices to the [[Activities#Thing types|thing type]] in order to get this information<br />
<br />
=== Example ===<br />
Let's show some more configuration details through an example:<br />
* As we can appreciate from the previous explanation, the configuration involves thing types and the observation types they produce. The first step is to open the bridge and go to observation production configuration setting:<br />
*: [[File:amtech_bridge_observationproductionconfig.png|850px|thumbnail|center|Open bridge and go to observation production configuration settings]]<br />
* When you navigate into it you're presented with a list of already configured thing types (initially empty):<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype_list.png|850px|thumbnail|center|Thing type list for observation production configuration]]<br />
* Then you can add or navigate to an existing entity type. Let's choose LLRPReader for the example:<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype.png|850px|thumbnail|center|Specific thing type configuration]]<br />
* Then you can browse the list of observation types that it produces:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs_list.png|850px|thumbnail|center|Observation type list for a give thing type]]<br />
* Again you can add or delete existing entries: observation types in this case. Let's go to graiEPC config:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs.png|850px|thumbnail|center|Specific observation type configuration]]<br />
* The example shows a LLRPReader that is configured to produce observations of type graiEPC. Then you configure the observation properties required to produce this observation and enforce security including fixed settings for topic, targetthings, producer, guestusers and guesttenants (See [[Sensor's network#Observations and observation types|Observations and observation types]]). In the example we set:<br />
** [[Sensor%27s_network#Topics|topic]] to /thingsInBoardroom/LLRPReader/#{smoothingResult}. #{smoothingResult} placeholder evaluated to ''new'' or ''lost'' so it allows us to group observations in corresponding child topics.<br />
** [[Sensor%27s_network|producer]] to #{thingId}. #{thingId} placeholder is replaced by the thing ID of the thing sending the observation.<br />
** [[Sensor%27s_network#targetthings|targetthings]] through a new page where you can add or edit existing target types:<br />
**: [[File:amtech_bridge_observationproductionconfig_targettypes_list.png|850px|thumbnail|center|List of target types for the targetthings]]<br />
**: For the example let's add/modify the type thingInBoardroom so we're presented with the targetthings properties:<br />
**: [[File:amtech_bridge_observationproductionconfig_targetthings.png|850px|thumbnail|center|Configuration of instances for the selected type in targetthings]]<br />
**: So you can configure the resource Id to #{thingId}:#{serialNumber} for instance. #{thingId} and #{serialNumber} placeholders are replaced with the thing ID of the thing sending the observation and the serial number from the graiEPC observation to uniquely identify the target thing.<br />
**: [[File:observ-prod-bridge-targething.png|850px|thumbnail|center|targetthings]]<br />
<br />
=== Placeholders ===<br />
<br />
Allows to set identifiers that will be substituted by real values at different intelligence layers. See [[Sensor%27s_network#Placeholders_substitution|placeholders]].<br />
<br />
Let's see some examples:<br />
* guesttenants set to #{companyPrefix} - In this case we use the placeholder to set guesttenants from graiEPC value companyPrefix. It allows you to control the access to observations and things from the intelligence in the edge.<br />
* topic set to /thingsInBoardroom/LLRPReader/#{smoothingResult}/#{country} - placeholder is used to group observations by new or lost and then by country.<br />
: [[File:observ-prod-placeholder.png|850px|thumbnail|center|placeholder]]<br />
<br />
=== Relation between thing types and the observation types allowed in the observation production configuration ===<br />
<br />
For the relation among thing types and observation production configuration (See [[Activities#Thing types|Thing types]])<br />
<br />
In the definition of a thing type you express the list of observation types it produces. It constrains the list of observation types that can be selected in the observation production configuration for that thing type. For instance, you're presented with a screen like this when you try to add new observations for the LLRPReader type.<br />
[[File:obser-prod-bridge-sel-observ.png|850px|thumbnail|center|Select observation type]]<br />
<br />
=== Thing type without observation production configuration ===<br />
<br />
A use case could require that an instance of thing type is needed just to receive [[Actions#Send_command|commands]], in that case the bridge configuration allows to set a thing instance without observation production configuration. '''Remark this thing type instance will not produce observations.'''</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Edge_reasoners&diff=3962Edge reasoners2019-08-19T02:41:07Z<p>Amarrero: /* Context */</p>
<hr />
<div>=Edge Reasoners=<br />
Allows to configure reasoners to be executed by M2MBrigdes of an [[M2MBridge_network|M2MBridge Network]]. A reasoner consists of two fundamental parts:<br />
* An observer<br />
* A list of one or more actions to execute<br />
<br />
==Observer==<br />
The observer is the conditional part. It's the condition that must be met in order to trigger the execution of actions associated to the reasoner. It starts by selection a type of observation among the types of observations configured in the [[Observations_production_and_consumption|observation production configuration]] of the bridge. When you decide to create a reasoner you will be asked for the type of observation that this reasoner will act on. Later on you will be allowed to also add constraints on this type of observation.<br />
[[File:erSelectObservation.png|850px|thumbnail|center|Select observation type]]<br />
<br />
===Constraints===<br />
The constraints that can be specified for the observer in an edge reasoner are very similar to those explained in [[Observers#Filter_criteria|this section]]. However, some kind of constraints are not allowed in this context. That's the case, for example, of ''proximity area'' based constraints. There are also some additions like '''isRequired''', which is a new constraint that allows you to require the presence of a certain property in the observation.<br />
[[File:erSetObservationFilters.png|950px|thumbnail|center|Select observation type]]<br />
[[File:erSetObservationFilters2.png|950px|thumbnail|center|Select observation type]]<br />
<br />
==Actions==<br />
Regarding actions you will be allowed to create two types of actions:<br />
* Send command<br />
* Custom action<br />
<br />
===Send command===<br />
For the action send command you will be asked for several properties:<br />
* The target M2MBridge instance<br />
* The target plugin (thing instance) that will receive the command<br />
* The command (observation type) to be sent<br />
[[File:erSendCommand.png|950px|thumbnail|center|Select observation type]]<br />
To fill the properties of the command to be sent, you will be able to specify bindings in a way that is very similar to the specification of [[Binding|bindings for cloud reasoners]].<br />
[[File:erBindingActionsProperties.png|950px|thumbnail|center|Select observation type]]<br />
<br />
===Custom action===<br />
A custom action is a very powerful tool that allows you to build an action for the execution of custom code in a controlled environment. Once you decide a name for the action you will be able to write a code based on the observation that was generated in the bridge and met the observer's filters. This code will be written in the scope of a function with the following signature:<br />
<br />
function(observation, context) {<br />
...<br />
}<br />
<br />
The observation is a javascript object with all the properties of the observation that was received. The context will be explained in the next section. The function doesn't need to return any value and even if it's not explicitly specified, it's an async function. It means that in its evaluation is changed to <code>async function(observation, context) {...}</code><br />
<br />
====Context====<br />
<br />
The context is a helper for storing data in global scope. It's injected every time you create a custom action and it's a mean to share information among different executions of the same reasoner or even among the executions of different edge reasoners. This is the list of available functions:<br />
<br />
# Asynchronous functions<br />
#* <code>store(key, value) => promise</code><br />
#: Stores a pair (key, value) in the persistent dictionary of the context<br />
#* <code>get(key, omissionValue) => promise</code><br />
#: Retrieves a value by its key in the persistent dictionary<br />
#* <code>remove(key) => promise</code><br />
#: Removes an entry from the persistent dictionary by its key<br />
# Synchronous functions<br />
#* <code>sendObservationToCloud(observation)</code><br />
#: Queues an observation for it to be sent to the cloud<br />
#* <code>scheduleSendObservationToCloud(observation, timeout)</code><br />
#: Schedules an action to send an observation to the cloud after the given timeout (in milliseconds) has passed<br />
#* <code>sendObservationLocal(observation)</code><br />
#: Generates an observation in the edge subject to the processing of existing edge reasoners<br />
#* <code>scheduleSendObservationLocal(observation, timeout)</code><br />
#: Schedules an action to generate an observation in the edge subject to the processing of existing edge reasoners after the given timeout (in milliseconds) has passed<br />
#* <code>sendCommand(observation, bridgeTemplate)</code><br />
#: Sends a command to all bridges that resulted from a clone of the given bridgeTemplate (@id) in the current bridge network<br />
#* <code>scheduleSendCommand(observation, bridgeTemplate, timeout)</code><br />
#: Schedules an action to send a command to all bridge that resulted from a clone of the given bridgeTemplate (@id) in the current bridge network after the given timeout has passed</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Edge_reasoners&diff=3961Edge reasoners2019-08-19T02:19:27Z<p>Amarrero: </p>
<hr />
<div>=Edge Reasoners=<br />
Allows to configure reasoners to be executed by M2MBrigdes of an [[M2MBridge_network|M2MBridge Network]]. A reasoner consists of two fundamental parts:<br />
* An observer<br />
* A list of one or more actions to execute<br />
<br />
==Observer==<br />
The observer is the conditional part. It's the condition that must be met in order to trigger the execution of actions associated to the reasoner. It starts by selection a type of observation among the types of observations configured in the [[Observations_production_and_consumption|observation production configuration]] of the bridge. When you decide to create a reasoner you will be asked for the type of observation that this reasoner will act on. Later on you will be allowed to also add constraints on this type of observation.<br />
[[File:erSelectObservation.png|850px|thumbnail|center|Select observation type]]<br />
<br />
===Constraints===<br />
The constraints that can be specified for the observer in an edge reasoner are very similar to those explained in [[Observers#Filter_criteria|this section]]. However, some kind of constraints are not allowed in this context. That's the case, for example, of ''proximity area'' based constraints. There are also some additions like '''isRequired''', which is a new constraint that allows you to require the presence of a certain property in the observation.<br />
[[File:erSetObservationFilters.png|950px|thumbnail|center|Select observation type]]<br />
[[File:erSetObservationFilters2.png|950px|thumbnail|center|Select observation type]]<br />
<br />
==Actions==<br />
Regarding actions you will be allowed to create two types of actions:<br />
* Send command<br />
* Custom action<br />
<br />
===Send command===<br />
For the action send command you will be asked for several properties:<br />
* The target M2MBridge instance<br />
* The target plugin (thing instance) that will receive the command<br />
* The command (observation type) to be sent<br />
[[File:erSendCommand.png|950px|thumbnail|center|Select observation type]]<br />
To fill the properties of the command to be sent, you will be able to specify bindings in a way that is very similar to the specification of [[Binding|bindings for cloud reasoners]].<br />
[[File:erBindingActionsProperties.png|950px|thumbnail|center|Select observation type]]<br />
<br />
===Custom action===<br />
A custom action is a very powerful tool that allows you to build an action for the execution of custom code in a controlled environment. Once you decide a name for the action you will be able to write a code based on the observation that was generated in the bridge and met the observer's filters. This code will be written in the scope of a function with the following signature:<br />
<br />
function(observation, context) {<br />
...<br />
}<br />
<br />
The observation is a javascript object with all the properties of the observation that was received. The context will be explained in the next section. The function doesn't need to return any value and even if it's not explicitly specified, it's an async function. It means that in its evaluation is changed to <code>async function(observation, context) {...}</code><br />
<br />
====Context====<br />
<br />
The context</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Edge_reasoners&diff=3960Edge reasoners2019-08-16T05:38:59Z<p>Amarrero: </p>
<hr />
<div>=Edge Reasoners=<br />
Allows to configure reasoners to be executed by M2MBrigdes of an [[M2MBridge_network|M2MBridge Network]]. A reasoner consists of two fundamental parts:<br />
* An observer<br />
* A list of one or more actions<br />
<br />
==Observer==<br />
The observer is the conditional part. It's the condition that must be met in order to trigger the execution of actions associated to the reasoner. It starts by selection a type of observation among the types of observations configured in the [[Observations_production_and_consumption|observation production configuration]] of the bridge. When you decide to create a reasoner you will be asked for the type of observation that this reasoner will act on. Later on you will be allowed to also add constraints on this type of observation.<br />
[[File:erSelectObservation.png|850px|thumbnail|center|Select observation type]]<br />
<br />
===Constraints===<br />
The constraints that can be specified for the observer in an edge reasoner are very similar to those explained in [[Observers#Filter_criteria|this section]]. However, some kind of constraints are not allowed in this context. That's the case, for example, of ''proximity area'' based constraints. There are also some additions like '''isRequired''', which is a new constraint that allows you to require the presence of a certain property in the observation.<br />
[[File:erSetObservationFilters.png|950px|thumbnail|center|Select observation type]]<br />
[[File:erSetObservationFilters2.png|950px|thumbnail|center|Select observation type]]<br />
<br />
==Actions==<br />
Regarding actions you will be allowed to create two types of actions:<br />
* Send command<br />
* Custom action<br />
<br />
===Send command===<br />
For the action send command you will be asked for several properties:<br />
* The target M2MBridge instance<br />
* The target plugin (thing instance) that will receive the command<br />
* The command (observation type) to be sent<br />
[[File:erSendCommand.png|950px|thumbnail|center|Select observation type]]<br />
To fill the properties of the command to be sent, you will be able to specify bindings in a way that is very similar to the specification of [[Binding|bindings for cloud reasoners]].<br />
[[File:erBindingActionsProperties.png|950px|thumbnail|center|Select observation type]]<br />
<br />
===Custom command===<br />
Custom commands are a very powerful tool that allows you to build an action for the execution of custom code in a controlled environment. Once you <br />
<br />
====Context====</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=3946Releases2019-06-13T16:06:51Z<p>Amarrero: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*New websocket endpoint that allow consuming messages from multiple topics at the same time. The list of topics can be dynamically modified by sending control messages through the same websocket communication.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*Crud observations on location fields are not anymore sent when the format changes (from wkt to location json) or some spaces are added or removed<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*Solved issue with the retrieval of allegedly non-existent objects in the database when REST internal calls were present in the middle of an active transaction by using thread-independent transactions for the retrieving action.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* Added aggregation to M2MBridge bridges in a local area network, to achieve the configuration of this functionality, the following supported properties has been added to the ''amtechM2MBridge'' thing type<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* Resources with supported properties that were added or removed from their metadata appear as dirty (to be saved) in the editor and a message is shown<br />
* Security changes<br />
** Actors in follower admin are automatically refreshed according to the services they are subscribed to. (requires only publication of the activity with new actors, and follower sign in)<br />
* Supported properties holding links to entities can now be forced to use current tenant constraint by setting to true the property ''forceTenantConstraint'' in its semantic<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== To be released ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Thing Type metadata</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=M2M_Bridge&diff=3918M2M Bridge2019-01-14T16:16:27Z<p>Amarrero: </p>
<hr />
<div>[[File:AmtechM2mBridge.svg|40px]] M2MBridge is a software stack that implements M2M edge functionality leveraging AMTech IoT Protocol<br />
# [[M2MBridge Functionality|Functionality]]<br />
# [[Configuration example]]<br />
# [[M2MBridge network]]<br />
#: [[Aggregation]]<br />
#: [[Edge reasoners]]<br />
#: [[Mesh network]]<br />
# [[Intelligence at the Edge]]<br />
#: [[WhatIsAPlugin|What is a plugin?]]<br />
#: [[EPC (Electronic product code)]]<br />
#: [[Smoothing observations]]<br />
# [[Observations production and consumption]]<br />
# [[Cloud Configuration]]<br />
#: [[Observation production config]]<br />
#: [[Validation]]<br />
#: [[Sample configuration for beacons]]<br />
# [[Automatic updates on bridge instance delete]]<br />
# [[Implementation notes]]<br />
# [[How to implement a new plugin]]<br />
# [[Set up a new Raspberry PI]]<br />
# [[Edge Configuration|M2MBridge Edge Configuration]]<br />
# [[M2MBridge updates]]<br />
# [[How to install & execute]]<br />
# [[HelloWorld plugin]]<br />
# Supported plugins<br />
## [[File:wi-fi.svg|35px]] [[File:tcp-ip.svg|35px]] [https://en.wikipedia.org/wiki/Ethernet Wifi or RJ45 Ethernet]<br />
##: [[File:SNMPDevice.svg|35px]] [[SNMPDevice]]<br />
##: [[File:LLRPReader.svg|35px]] [[LLRPReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:plc-icon.svg|35px]] [[OPCUADevice]]<br />
##: [[File:modbus.svg|45px]] [[ModbusDevice]]<br />
##: [[File:wioGeneric.png|45px]] [[Wio Devices]] (troubleshooting inside)<br />
##:: [[File:wioNode.svg.svg|35px]] [[wioNode]]<br />
##:: [[File:wioLink.svg|35px]] [[wioLink]]<br />
## [[File:bt.svg|35px]] [https://en.wikipedia.org/wiki/Bluetooth_Low_Energy BLE 4.0]<br />
##: [[File:BLEbeaconsScanner.svg|35px]] [[BLEbeaconsScanner]]<br />
##: [[File:bleOBDScanner.svg|35px]] [[BLEODB2Scanner]]<br />
##: [[File:BLEPeripheralsScanner.svg|35px]] [[BLEPeripheralsScanner]]<br />
##: [[File:BluvisioniBEEK.jpg|65px]] [[BLEBluvisionBeeksScanner]]<br />
##: [[File:BLEGattCentral.svg|35px]] [[BLEGattCentral]]<br />
## [[File:i2c.svg|35px]] [https://en.wikipedia.org/wiki/I%C2%B2C I2C]<br />
##: [[File:watersensor.svg|35px]] [[PCA9536I2CWaterDetectionWithBuzzer]]<br />
##: [[File:TSL2561Light.svg|65px]] [[TSL2561I2CLight]]<br />
##: [[File:soundvibration.svg|35px]] [[ADC121C021I2CSoundVibrationShock]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=i2c-interface NCD I2C devices]<br />
##: [[File:grove-log.png|65px]] [https://www.seeedstudio.com/category/Grove-c-1003%7C%7C24.html?p=0 Grove devices via I2C]<br />
## [[File:usb-logo.svg|35px]] [https://en.wikipedia.org/wiki/USB USB 2.0]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:Phidgets-Logo.png|65px]] [https://www.phidgets.com/?tier=0&catid=3&pcid=12 Phidgets USB sensors]<br />
<!--##:[[File:modbus.svg|45px]] [[ModbusDevice]]--><br />
## [[File:xbee-pro-900hp.svg|35px]] [https://www.digikey.com/catalog/en/partgroup/xbee-pro-900hp/33082?utm_adgroup=RF%20&%20RFID XBee-Pro 900HP]<br />
##: [[File:relay-home-automation.svg|35px]] [[NCDXbee900Relay]]<br />
##: [[File:energy-monitor.svg|35px]] [[NCDXbee900EnergyMonitor]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=900hp-s3b NCD devices supporting XBee-Pro 900HP communication]<br />
<!-- ## [[File:libelium.svg|45px]] [[waspmoteBLECentral]]--><br />
##: [[File:libelium.svg|65px]] [http://www.libelium.com/libeliumworld/waspmote/ Libelium waspmote]<br />
##:: [[File:SmartEnvironment.jpg|65px]] [[Smart environment PRO]]<br />
##:: [[File:SmartAgriculture.png|65px]] [[Smart Agriculture]]<br />
##:: [[File:SmartWater.jpg|65px]] [[Smart Water]]<br />
##:: [[File:SmartWaterIons.png|65px]] [[Smart Water Ions]]<br />
##:: [[File:SmartCities.jpg|65px]] [[Smart Cities]]<br />
##:: [[File:SmartParking.jpg|65px]] [[Smart Parking]]<br />
##:: [[File:SmartSecurity.jpg|65px]] [[Smart Security]]<br />
##:: [[File:Radiation.png|65px]] [[Radiation]]<br />
##:: [[File:AmbientControl.png|65px]] [[Ambient Control]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3917Wio Devices2019-01-11T21:08:28Z<p>Amarrero: /* Using these instructions from a M2MBridge device */</p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== Procedure to flash a Wio device after something goes wrong or the device is bricked ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a new virtualenv environment for python 2<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load environment<br />
#: <pre>source py2/bin/activate</pre><br />
# Install esptool requirement<br />
#: <pre>pip install esptool</pre><br />
# Create directories for required wio files. For instance: wio<br />
#: <pre>mkdir wio</pre><br />
# Change directory to wio<br />
#: <pre>cd wio</pre><br />
# Download firmware files [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user1.bin user1.bin] and [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user2.bin user2.bin] into this directory<br />
# Download [https://github.com/SeeedDocument/Wio_Link/blob/master/resource/esp8266sdk1.4.1.zip?raw=true esp8266sdk1.4.1.zip] and unzip it into wio directory<br />
# Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
#: <pre>usb 1-1.3: cp210x converter now attached to ttyUSB0</pre><br />
#: Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
# Execute the following line (correcting references if needed):<br />
# esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Procedure to configure a Wio device using the command line interface tool wio-cli ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a python2 environment:<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load the environment:<br />
#: <pre>source py2/bin/activate</pre><br />
# Install requirements<br />
#: <pre>pip install wio-cli</pre><br />
# Login with wio login. If first time:<br />
#* Select customize server<br />
#* Select raspberry pi address like http://<external address>:8080 even if running locally<br />
#* Type email address: amtech@amtech.mx<br />
#* Type password: 4mt3ch.<br />
# Setup a new device with wio setup<br />
#: Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
#* Select wio link or node depending on the device you are configuring<br />
#* Choose to enter wifi configuration manually<br />
#*: SSID: amtech-pi<br />
#*: WIFI password: freepass<br />
#* Type a device name<br />
#* Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
# At this point you are ready to continue the configuration of the Wio device through the [https://play.google.com/store/apps/details?id=cc.seeed.iot.ap Wio App] as explained in the [http://wiki.seeedstudio.com/Wio_Link/ Wio Link wiki]<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures. <br />
You can skip steps 1 to 8 of procedure to flash a Wio device or steps 1 to 4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more information about the wio-cli interface.</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3916Wio Devices2019-01-11T21:08:13Z<p>Amarrero: /* Configure a Wio device using the command line interface tool wio-cli */</p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== Procedure to flash a Wio device after something goes wrong or the device is bricked ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a new virtualenv environment for python 2<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load environment<br />
#: <pre>source py2/bin/activate</pre><br />
# Install esptool requirement<br />
#: <pre>pip install esptool</pre><br />
# Create directories for required wio files. For instance: wio<br />
#: <pre>mkdir wio</pre><br />
# Change directory to wio<br />
#: <pre>cd wio</pre><br />
# Download firmware files [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user1.bin user1.bin] and [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user2.bin user2.bin] into this directory<br />
# Download [https://github.com/SeeedDocument/Wio_Link/blob/master/resource/esp8266sdk1.4.1.zip?raw=true esp8266sdk1.4.1.zip] and unzip it into wio directory<br />
# Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
#: <pre>usb 1-1.3: cp210x converter now attached to ttyUSB0</pre><br />
#: Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
# Execute the following line (correcting references if needed):<br />
# esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Procedure to configure a Wio device using the command line interface tool wio-cli ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a python2 environment:<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load the environment:<br />
#: <pre>source py2/bin/activate</pre><br />
# Install requirements<br />
#: <pre>pip install wio-cli</pre><br />
# Login with wio login. If first time:<br />
#* Select customize server<br />
#* Select raspberry pi address like http://<external address>:8080 even if running locally<br />
#* Type email address: amtech@amtech.mx<br />
#* Type password: 4mt3ch.<br />
# Setup a new device with wio setup<br />
#: Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
#* Select wio link or node depending on the device you are configuring<br />
#* Choose to enter wifi configuration manually<br />
#*: SSID: amtech-pi<br />
#*: WIFI password: freepass<br />
#* Type a device name<br />
#* Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
# At this point you are ready to continue the configuration of the Wio device through the [https://play.google.com/store/apps/details?id=cc.seeed.iot.ap Wio App] as explained in the [http://wiki.seeedstudio.com/Wio_Link/ Wio Link wiki]<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures. <br />
You can skip steps 1 to 8 of procedure to Flash a Wio device or steps 1 to 4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more information about the wio-cli interface.</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3915Wio Devices2019-01-11T21:07:55Z<p>Amarrero: /* How to configure and flash a Wio device */</p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== Procedure to flash a Wio device after something goes wrong or the device is bricked ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a new virtualenv environment for python 2<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load environment<br />
#: <pre>source py2/bin/activate</pre><br />
# Install esptool requirement<br />
#: <pre>pip install esptool</pre><br />
# Create directories for required wio files. For instance: wio<br />
#: <pre>mkdir wio</pre><br />
# Change directory to wio<br />
#: <pre>cd wio</pre><br />
# Download firmware files [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user1.bin user1.bin] and [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user2.bin user2.bin] into this directory<br />
# Download [https://github.com/SeeedDocument/Wio_Link/blob/master/resource/esp8266sdk1.4.1.zip?raw=true esp8266sdk1.4.1.zip] and unzip it into wio directory<br />
# Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
#: <pre>usb 1-1.3: cp210x converter now attached to ttyUSB0</pre><br />
#: Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
# Execute the following line (correcting references if needed):<br />
# esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Configure a Wio device using the command line interface tool wio-cli ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a python2 environment:<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load the environment:<br />
#: <pre>source py2/bin/activate</pre><br />
# Install requirements<br />
#: <pre>pip install wio-cli</pre><br />
# Login with wio login. If first time:<br />
#* Select customize server<br />
#* Select raspberry pi address like http://<external address>:8080 even if running locally<br />
#* Type email address: amtech@amtech.mx<br />
#* Type password: 4mt3ch.<br />
# Setup a new device with wio setup<br />
#: Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
#* Select wio link or node depending on the device you are configuring<br />
#* Choose to enter wifi configuration manually<br />
#*: SSID: amtech-pi<br />
#*: WIFI password: freepass<br />
#* Type a device name<br />
#* Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
# At this point you are ready to continue the configuration of the Wio device through the [https://play.google.com/store/apps/details?id=cc.seeed.iot.ap Wio App] as explained in the [http://wiki.seeedstudio.com/Wio_Link/ Wio Link wiki]<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures. <br />
You can skip steps 1 to 8 of procedure to Flash a Wio device or steps 1 to 4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more information about the wio-cli interface.</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3914Wio Devices2019-01-11T21:07:09Z<p>Amarrero: /* How to configure and flash a Wio Link */</p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== How to configure and flash a Wio device ==<br />
Procedure to flash a Wio device after something goes wrong or the device is bricked:<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a new virtualenv environment for python 2<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load environment<br />
#: <pre>source py2/bin/activate</pre><br />
# Install esptool requirement<br />
#: <pre>pip install esptool</pre><br />
# Create directories for required wio files. For instance: wio<br />
#: <pre>mkdir wio</pre><br />
# Change directory to wio<br />
#: <pre>cd wio</pre><br />
# Download firmware files [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user1.bin user1.bin] and [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user2.bin user2.bin] into this directory<br />
# Download [https://github.com/SeeedDocument/Wio_Link/blob/master/resource/esp8266sdk1.4.1.zip?raw=true esp8266sdk1.4.1.zip] and unzip it into wio directory<br />
# Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
#: <pre>usb 1-1.3: cp210x converter now attached to ttyUSB0</pre><br />
#: Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
# Execute the following line (correcting references if needed):<br />
# esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Configure a Wio device using the command line interface tool wio-cli ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a python2 environment:<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load the environment:<br />
#: <pre>source py2/bin/activate</pre><br />
# Install requirements<br />
#: <pre>pip install wio-cli</pre><br />
# Login with wio login. If first time:<br />
#* Select customize server<br />
#* Select raspberry pi address like http://<external address>:8080 even if running locally<br />
#* Type email address: amtech@amtech.mx<br />
#* Type password: 4mt3ch.<br />
# Setup a new device with wio setup<br />
#: Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
#* Select wio link or node depending on the device you are configuring<br />
#* Choose to enter wifi configuration manually<br />
#*: SSID: amtech-pi<br />
#*: WIFI password: freepass<br />
#* Type a device name<br />
#* Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
# At this point you are ready to continue the configuration of the Wio device through the [https://play.google.com/store/apps/details?id=cc.seeed.iot.ap Wio App] as explained in the [http://wiki.seeedstudio.com/Wio_Link/ Wio Link wiki]<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures. <br />
You can skip steps 1 to 8 of procedure to Flash a Wio device or steps 1 to 4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more information about the wio-cli interface.</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3913Wio Devices2019-01-11T21:06:47Z<p>Amarrero: /* Using these instructions from a M2MBridge device */</p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== How to configure and flash a Wio Link ==<br />
Procedure to flash a Wio Link after something goes wrong or the device is bricked:<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a new virtualenv environment for python 2<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load environment<br />
#: <pre>source py2/bin/activate</pre><br />
# Install esptool requirement<br />
#: <pre>pip install esptool</pre><br />
# Create directories for required wio files. For instance: wio<br />
#: <pre>mkdir wio</pre><br />
# Change directory to wio<br />
#: <pre>cd wio</pre><br />
# Download firmware files [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user1.bin user1.bin] and [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user2.bin user2.bin] into this directory<br />
# Download [https://github.com/SeeedDocument/Wio_Link/blob/master/resource/esp8266sdk1.4.1.zip?raw=true esp8266sdk1.4.1.zip] and unzip it into wio directory<br />
# Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
#: <pre>usb 1-1.3: cp210x converter now attached to ttyUSB0</pre><br />
#: Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
# Execute the following line (correcting references if needed):<br />
# esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Configure a Wio device using the command line interface tool wio-cli ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a python2 environment:<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load the environment:<br />
#: <pre>source py2/bin/activate</pre><br />
# Install requirements<br />
#: <pre>pip install wio-cli</pre><br />
# Login with wio login. If first time:<br />
#* Select customize server<br />
#* Select raspberry pi address like http://<external address>:8080 even if running locally<br />
#* Type email address: amtech@amtech.mx<br />
#* Type password: 4mt3ch.<br />
# Setup a new device with wio setup<br />
#: Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
#* Select wio link or node depending on the device you are configuring<br />
#* Choose to enter wifi configuration manually<br />
#*: SSID: amtech-pi<br />
#*: WIFI password: freepass<br />
#* Type a device name<br />
#* Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
# At this point you are ready to continue the configuration of the Wio device through the [https://play.google.com/store/apps/details?id=cc.seeed.iot.ap Wio App] as explained in the [http://wiki.seeedstudio.com/Wio_Link/ Wio Link wiki]<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures. <br />
You can skip steps 1 to 8 of procedure to Flash a Wio device or steps 1 to 4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more information about the wio-cli interface.</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3912Wio Devices2019-01-11T21:05:17Z<p>Amarrero: /* How to configure and flash a Wio Link */</p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== How to configure and flash a Wio Link ==<br />
Procedure to flash a Wio Link after something goes wrong or the device is bricked:<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a new virtualenv environment for python 2<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load environment<br />
#: <pre>source py2/bin/activate</pre><br />
# Install esptool requirement<br />
#: <pre>pip install esptool</pre><br />
# Create directories for required wio files. For instance: wio<br />
#: <pre>mkdir wio</pre><br />
# Change directory to wio<br />
#: <pre>cd wio</pre><br />
# Download firmware files [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user1.bin user1.bin] and [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user2.bin user2.bin] into this directory<br />
# Download [https://github.com/SeeedDocument/Wio_Link/blob/master/resource/esp8266sdk1.4.1.zip?raw=true esp8266sdk1.4.1.zip] and unzip it into wio directory<br />
# Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
#: <pre>usb 1-1.3: cp210x converter now attached to ttyUSB0</pre><br />
#: Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
# Execute the following line (correcting references if needed):<br />
# esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Configure a Wio device using the command line interface tool wio-cli ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a python2 environment:<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load the environment:<br />
#: <pre>source py2/bin/activate</pre><br />
# Install requirements<br />
#: <pre>pip install wio-cli</pre><br />
# Login with wio login. If first time:<br />
#* Select customize server<br />
#* Select raspberry pi address like http://<external address>:8080 even if running locally<br />
#* Type email address: amtech@amtech.mx<br />
#* Type password: 4mt3ch.<br />
# Setup a new device with wio setup<br />
#: Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
#* Select wio link or node depending on the device you are configuring<br />
#* Choose to enter wifi configuration manually<br />
#*: SSID: amtech-pi<br />
#*: WIFI password: freepass<br />
#* Type a device name<br />
#* Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
# At this point you are ready to continue the configuration of the Wio device through the [https://play.google.com/store/apps/details?id=cc.seeed.iot.ap Wio App] as explained in the [http://wiki.seeedstudio.com/Wio_Link/ Wio Link wiki]<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures: <br />
You can skip steps 1-8 of procedure to Flash a Wio device or steps 1-4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more information about the wio-cli interface.</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3911Wio Devices2019-01-11T21:04:31Z<p>Amarrero: </p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== How to configure and flash a Wio Link ==<br />
Procedure to flash a Wio Link after something goes wrong or the device is bricked:<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a new virtualenv environment for python 2<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load environment<br />
#: <pre>source py2/bin/activate</pre><br />
# Install esptool requirement<br />
#: <pre>pip install esptool</pre><br />
# Create directories for required wio files. For instance: wio<br />
#: <pre>mkdir wio</pre><br />
# Change directory to wio<br />
#: <pre>cd wio</pre><br />
# Download firmware files [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user1.bin user1.bin] and [https://github.com/Seeed-Studio/Wio_Link/raw/master/users_build/local_user_00000000000000000000/user2.bin user2.bin] into this directory<br />
# Download [https://github.com/SeeedDocument/Wio_Link/blob/master/resource/esp8266sdk1.4.1.zip?raw=true esp8266sdk1.4.1.zip] and unzip it into wio directory<br />
# Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
#: usb 1-1.3: cp210x converter now attached to ttyUSB0<br />
#: Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
# Execute the following line (correcting references if needed):<br />
# esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Configure a Wio device using the command line interface tool wio-cli ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a python2 environment:<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load the environment:<br />
#: <pre>source py2/bin/activate</pre><br />
# Install requirements<br />
#: <pre>pip install wio-cli</pre><br />
# Login with wio login. If first time:<br />
#* Select customize server<br />
#* Select raspberry pi address like http://<external address>:8080 even if running locally<br />
#* Type email address: amtech@amtech.mx<br />
#* Type password: 4mt3ch.<br />
# Setup a new device with wio setup<br />
#: Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
#* Select wio link or node depending on the device you are configuring<br />
#* Choose to enter wifi configuration manually<br />
#*: SSID: amtech-pi<br />
#*: WIFI password: freepass<br />
#* Type a device name<br />
#* Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
# At this point you are ready to continue the configuration of the Wio device through the [https://play.google.com/store/apps/details?id=cc.seeed.iot.ap Wio App] as explained in the [http://wiki.seeedstudio.com/Wio_Link/ Wio Link wiki]<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures: <br />
You can skip steps 1-8 of procedure to Flash a Wio device or steps 1-4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more information about the wio-cli interface.</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3910Wio Devices2019-01-11T21:00:45Z<p>Amarrero: /* Configure a Wio device using the command line interface tool wio-cli */</p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== How to configure and flash a Wio Link ==<br />
Procedure to flash a Wio Link after something goes wrong or the device is bricked:<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a new virtualenv environment for python 2<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load environment<br />
#: <pre>source py2/bin/activate</pre><br />
# Install esptool requirement<br />
#: <pre>pip install esptool</pre><br />
# Create directories for required wio files. For instance: wio<br />
#: <pre>mkdir wio</pre><br />
# Change directory to wio<br />
#: <pre>cd wio</pre><br />
# Download firmware files user1.bin and user2.bin into this directory<br />
# Download esp8266sdk1.4.1.zip and unzip it into wio directory<br />
# Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
#: usb 1-1.3: cp210x converter now attached to ttyUSB0<br />
#: Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
# Execute the following line (correcting references if needed):<br />
# esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Configure a Wio device using the command line interface tool wio-cli ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a python2 environment:<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load the environment:<br />
#: <pre>source py2/bin/activate</pre><br />
# Install requirements<br />
#: <pre>pip install wio-cli</pre><br />
# Login with wio login. If first time:<br />
#* Select customize server<br />
#* Select raspberry pi address like http://<external address>:8080 even if running locally<br />
#* Type email address: amtech@amtech.mx<br />
#* Type password: 4mt3ch.<br />
# Setup a new device with wio setup<br />
#: Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
#* Select wio link or node depending on the device you are configuring<br />
#* Choose to enter wifi configuration manually<br />
#*: SSID: amtech-pi<br />
#*: WIFI password: freepass<br />
#* Type a device name<br />
#* Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
# At this point you are ready to continue the configuration of the Wio device through the [https://play.google.com/store/apps/details?id=cc.seeed.iot.ap Wio App] as explained in the [http://wiki.seeedstudio.com/Wio_Link/ Wio Link wiki]<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures: <br />
You can skip steps 1-8 of procedure to Flash a Wio device or steps 1-4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more information about the wio-cli interface.</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=M2M_Bridge&diff=3909M2M Bridge2019-01-11T20:57:50Z<p>Amarrero: </p>
<hr />
<div>[[File:AmtechM2mBridge.svg|40px]] M2MBridge is a software stack that implements M2M edge functionality leveraging AMTech IoT Protocol<br />
# [[M2MBridge Functionality|Functionality]]<br />
# [[Configuration example]]<br />
# [[M2MBridge network]]<br />
#: [[Aggregation]]<br />
#: [[Edge reasoners]]<br />
#: [[Mesh network]]<br />
# [[Intelligence at the Edge]]<br />
#: [[WhatIsAPlugin|What is a plugin?]]<br />
#: [[EPC (Electronic product code)]]<br />
#: [[Smoothing observations]]<br />
# [[Observations production and consumption]]<br />
# [[Cloud Configuration]]<br />
#: [[Observation production config]]<br />
#: [[Validation]]<br />
#: [[Sample configuration for beacons]]<br />
# [[Automatic updates on bridge instance delete]]<br />
# [[Implementation notes]]<br />
# [[How to implement a new plugin]]<br />
# [[Set up a new Raspberry PI]]<br />
# [[Edge Configuration|M2MBridge Edge Configuration]]<br />
# [[M2MBridge updates]]<br />
# [[How to install & execute]]<br />
# [[HelloWorld plugin]]<br />
# Supported plugins<br />
## [[File:wi-fi.svg|35px]] [[File:tcp-ip.svg|35px]] [https://en.wikipedia.org/wiki/Ethernet Wifi or RJ45 Ethernet]<br />
##: [[File:SNMPDevice.svg|35px]] [[SNMPDevice]]<br />
##: [[File:LLRPReader.svg|35px]] [[LLRPReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:plc-icon.svg|35px]] [[OPCUADevice]]<br />
##: [[File:modbus.svg|45px]] [[ModbusDevice]]<br />
##: [[File:wioGeneric.png|45px]] [[Wio Devices]] (troubleshooting inside)<br />
###: [[File:wioNode.svg.svg|35px]] [[wioNode]]<br />
###: [[File:wioLink.svg|35px]] [[wioLink]]<br />
## [[File:bt.svg|35px]] [https://en.wikipedia.org/wiki/Bluetooth_Low_Energy BLE 4.0]<br />
##: [[File:BLEbeaconsScanner.svg|35px]] [[BLEbeaconsScanner]]<br />
##: [[File:bleOBDScanner.svg|35px]] [[BLEODB2Scanner]]<br />
##: [[File:BLEPeripheralsScanner.svg|35px]] [[BLEPeripheralsScanner]]<br />
##: [[File:BluvisioniBEEK.jpg|65px]] [[BLEBluvisionBeeksScanner]]<br />
##: [[File:BLEGattCentral.svg|35px]] [[BLEGattCentral]]<br />
## [[File:i2c.svg|35px]] [https://en.wikipedia.org/wiki/I%C2%B2C I2C]<br />
##: [[File:watersensor.svg|35px]] [[PCA9536I2CWaterDetectionWithBuzzer]]<br />
##: [[File:TSL2561Light.svg|65px]] [[TSL2561I2CLight]]<br />
##: [[File:soundvibration.svg|35px]] [[ADC121C021I2CSoundVibrationShock]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=i2c-interface NCD I2C devices]<br />
##: [[File:grove-log.png|65px]] [https://www.seeedstudio.com/category/Grove-c-1003%7C%7C24.html?p=0 Grove devices via I2C]<br />
## [[File:usb-logo.svg|35px]] [https://en.wikipedia.org/wiki/USB USB 2.0]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:Phidgets-Logo.png|65px]] [https://www.phidgets.com/?tier=0&catid=3&pcid=12 Phidgets USB sensors]<br />
<!--##:[[File:modbus.svg|45px]] [[ModbusDevice]]--><br />
## [[File:xbee-pro-900hp.svg|35px]] [https://www.digikey.com/catalog/en/partgroup/xbee-pro-900hp/33082?utm_adgroup=RF%20&%20RFID XBee-Pro 900HP]<br />
##: [[File:relay-home-automation.svg|35px]] [[NCDXbee900Relay]]<br />
##: [[File:energy-monitor.svg|35px]] [[NCDXbee900EnergyMonitor]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=900hp-s3b NCD devices supporting XBee-Pro 900HP communication]<br />
<!-- ## [[File:libelium.svg|45px]] [[waspmoteBLECentral]]--><br />
##: [[File:libelium.svg|65px]] [http://www.libelium.com/libeliumworld/waspmote/ Libelium waspmote]<br />
##:: [[File:SmartEnvironment.jpg|65px]] [[Smart environment PRO]]<br />
##:: [[File:SmartAgriculture.png|65px]] [[Smart Agriculture]]<br />
##:: [[File:SmartWater.jpg|65px]] [[Smart Water]]<br />
##:: [[File:SmartWaterIons.png|65px]] [[Smart Water Ions]]<br />
##:: [[File:SmartCities.jpg|65px]] [[Smart Cities]]<br />
##:: [[File:SmartParking.jpg|65px]] [[Smart Parking]]<br />
##:: [[File:SmartSecurity.jpg|65px]] [[Smart Security]]<br />
##:: [[File:Radiation.png|65px]] [[Radiation]]<br />
##:: [[File:AmbientControl.png|65px]] [[Ambient Control]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3908Wio Devices2019-01-11T20:56:54Z<p>Amarrero: </p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== How to configure and flash a Wio Link ==<br />
Procedure to flash a Wio Link after something goes wrong or the device is bricked:<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a new virtualenv environment for python 2<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load environment<br />
#: <pre>source py2/bin/activate</pre><br />
# Install esptool requirement<br />
#: <pre>pip install esptool</pre><br />
# Create directories for required wio files. For instance: wio<br />
#: <pre>mkdir wio</pre><br />
# Change directory to wio<br />
#: <pre>cd wio</pre><br />
# Download firmware files user1.bin and user2.bin into this directory<br />
# Download esp8266sdk1.4.1.zip and unzip it into wio directory<br />
# Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
#: usb 1-1.3: cp210x converter now attached to ttyUSB0<br />
#: Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
# Execute the following line (correcting references if needed):<br />
# esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Configure a Wio device using the command line interface tool wio-cli ==<br />
# A python module is required. Consequently we start by installing virtualenv<br />
#: <pre>pip install virtualenv</pre><br />
# Create a python2 environment:<br />
#: <pre>virtualenv -p python2 py2</pre><br />
# Load the environment:<br />
#: <pre>source py2/bin/activate</pre><br />
# Install requirements<br />
#: <pre>pip install wio-cli</pre><br />
# Login with wio login. If first time:<br />
#* Select customize server<br />
#* Select raspberry pi address like http://<external address>:8080 even if running locally<br />
#* Type email address: amtech@amtech.mx<br />
#* Type password: 4mt3ch.<br />
# Setup a new device with wio setup<br />
#: Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
#* Select wio link or node depending on the device you are configuring<br />
#* Choose to enter wifi configuration manually<br />
#*: SSID: amtech-pi<br />
#*: WIFI password: freepass<br />
#* Type a device name<br />
#* Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures: <br />
You can skip steps 1-8 of procedure to Flash a Wio device or steps 1-4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more information about the wio-cli interface.</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3907Wio Devices2019-01-11T20:50:43Z<p>Amarrero: /* How to configure and flash a Wio Link */</p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== How to configure and flash a Wio Link ==<br />
Procedure to flash a Wio Link after something goes wrong or the device is bricked:<br />
* A python module is required. Consequently we start by installing virtualenv<br />
pip install virtualenv<br />
* Create a new virtualenv environment for python 2<br />
virtualenv -p python2 py2<br />
* Load environment<br />
source py2/bin/activate<br />
* Install esptool requirement<br />
pip install esptool<br />
* Create directories for required wio files. For instance: wio<br />
mkdir wio<br />
* Change directory to wio<br />
cd wio<br />
* Download firmware files user1.bin and user2.bin into this directory<br />
* Download esp8266sdk1.4.1.zip and unzip it into wio directory<br />
* Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
*: usb 1-1.3: cp210x converter now attached to ttyUSB0<br />
*: Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
* Execute the following line (correcting references if needed):<br />
* esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Configure a Wio device using the command line interface tool wio-cli ==<br />
* A python module is required. Consequently we start by installing virtualenv<br />
pip install virtualenv<br />
* Create a python2 environment:<br />
virtualenv -p python2 py2<br />
* Load the environment:<br />
source py2/bin/activate<br />
* Install requirements<br />
pip install wio-cli<br />
* Login with wio login. If first time:<br />
** Select customize server<br />
** Select raspberry pi address like http://<external address>:8080 even if running locally<br />
** Type email address: amtech@amtech.mx<br />
** Password: 4mt3ch.<br />
* Setup a new device with wio setup<br />
# Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
** Select wio link or node depending on the device you are configuring<br />
** Choose to enter wifi configuration manually<br />
**# SSID: amtech-pi<br />
**# WIFI password: freepass<br />
** Type a device name<br />
** Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures: <br />
You can skip steps 1-8 of procedure to Flash a Wio device or steps 1-4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more info</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3906Wio Devices2019-01-11T20:48:46Z<p>Amarrero: /* Troubleshooting */</p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
= Configuration procedures and troubleshooting =<br />
<br />
== How to configure and flash a Wio Link ==<br />
Procedure to flash a Wio Link after something goes wrong or the device is bricked:<br />
* A python module is required. Consequently we start by installing virtualenv<br />
pip install virtualenv<br />
* Create a new virtualenv environment for python 2<br />
virtualenv -p python2 py2<br />
* Load environment<br />
source py2/bin/activate<br />
* Install esptool requirement<br />
pip install esptool<br />
* Create directories for required wio files. For instance: wio<br />
mkdir wio<br />
* Change directory to wio<br />
cd wio<br />
* Download firmware files user1.bin and user2.bin into this directory<br />
* Download esp8266sdk1.4.1.zip and unzip it into wio directory<br />
* Connect the wio device through USB and identify the device in your system. By running dmesh you can try to find a line like:<br />
usb 1-1.3: cp210x converter now attached to ttyUSB0<br />
# Meaning that the device was recognized and is attached to /dev/ttyUSB0<br />
* Execute the following line (correcting references if needed):<br />
* esptool.py -p /dev/ttyUSB0 -b 230400 write_flash --flash_size 32m-c1 0x0000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x101000 user2.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin<br />
<br />
== Configure a Wio device using the command line interface tool wio-cli ==<br />
* A python module is required. Consequently we start by installing virtualenv<br />
pip install virtualenv<br />
* Create a python2 environment:<br />
virtualenv -p python2 py2<br />
* Load the environment:<br />
source py2/bin/activate<br />
* Install requirements<br />
pip install wio-cli<br />
* Login with wio login. If first time:<br />
** Select customize server<br />
** Select raspberry pi address like http://<external address>:8080 even if running locally<br />
** Type email address: amtech@amtech.mx<br />
** Password: 4mt3ch.<br />
* Setup a new device with wio setup<br />
# Read on-screen instructions: make sure that the wio is in setup mode and that you are connected to the server<br />
** Select wio link or node depending on the device you are configuring<br />
** Choose to enter wifi configuration manually<br />
**# SSID: amtech-pi<br />
**# WIFI password: freepass<br />
** Type a device name<br />
** Accept information and wait for the setup to finish. You should see a success message and a "Configuration complete!" message at the end.<br />
<br />
== Using these instructions from a M2MBridge device ==<br />
The image provided by AMTech for their M2MBridges already contains a configured environment for the execution of the two procedures previously detailed. <br />
If you login as amtech in the M2MBridge there are two folders py2 (with a python 2 virtual environment) and wio that you may use. Execute the following instructions to load the python environment:<br />
source py2/bin/activate<br />
cd wio<br />
And then proceed to the connection of the wio device to the Raspberry PI, identify the USB device in the system and now you get all set to execute any of the two procedures: <br />
You can skip steps 1-8 of procedure to Flash a Wio device or steps 1-4 of procedure to configure a Wio device<br />
<br />
== References ==<br />
See [https://github.com/Seeed-Studio/wio-cli] for more info</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Wio_Devices&diff=3905Wio Devices2019-01-11T20:31:44Z<p>Amarrero: Created page with "Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www...."</p>
<hr />
<div>Wio* devices is a class of devices that allows the integration in the AMTech Platform of hundreds of sensors, actuators, etc. The hardware is mostly developed by [https://www.seeedstudio.com Seeed Technology Co.,Ltd.] but they allow the development of drivers to integrate new devices as well. Each device expose between 2 and 6 ports where you can connect analog, digital, I2C or UART devices. They all use grove connectors which are developed by the same company. We currently support the integration with Wio Link and Wio Node devices.<br />
<br />
== Troubleshooting ==</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=M2M_Bridge&diff=3904M2M Bridge2019-01-11T20:14:39Z<p>Amarrero: </p>
<hr />
<div>[[File:AmtechM2mBridge.svg|40px]] M2MBridge is a software stack that implements M2M edge functionality leveraging AMTech IoT Protocol<br />
# [[M2MBridge Functionality|Functionality]]<br />
# [[Configuration example]]<br />
# [[M2MBridge network]]<br />
#: [[Aggregation]]<br />
#: [[Edge reasoners]]<br />
#: [[Mesh network]]<br />
# [[Intelligence at the Edge]]<br />
#: [[WhatIsAPlugin|What is a plugin?]]<br />
#: [[EPC (Electronic product code)]]<br />
#: [[Smoothing observations]]<br />
# [[Observations production and consumption]]<br />
# [[Cloud Configuration]]<br />
#: [[Observation production config]]<br />
#: [[Validation]]<br />
#: [[Sample configuration for beacons]]<br />
# [[Automatic updates on bridge instance delete]]<br />
# [[Implementation notes]]<br />
# [[How to implement a new plugin]]<br />
# [[Set up a new Raspberry PI]]<br />
# [[Edge Configuration|M2MBridge Edge Configuration]]<br />
# [[M2MBridge updates]]<br />
# [[How to install & execute]]<br />
# [[HelloWorld plugin]]<br />
# Supported plugins<br />
## [[File:wi-fi.svg|35px]] [[File:tcp-ip.svg|35px]] [https://en.wikipedia.org/wiki/Ethernet Wifi or RJ45 Ethernet]<br />
##: [[File:SNMPDevice.svg|35px]] [[SNMPDevice]]<br />
##: [[File:LLRPReader.svg|35px]] [[LLRPReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:plc-icon.svg|35px]] [[OPCUADevice]]<br />
##: [[File:modbus.svg|45px]] [[ModbusDevice]]<br />
##: [[File:wioGeneric.png|45px]] [[Wio Devices]]<br />
###: [[File:wioNode.svg.svg|35px]] [[wioNode]]<br />
###: [[File:wioLink.svg|35px]] [[wioLink]]<br />
## [[File:bt.svg|35px]] [https://en.wikipedia.org/wiki/Bluetooth_Low_Energy BLE 4.0]<br />
##: [[File:BLEbeaconsScanner.svg|35px]] [[BLEbeaconsScanner]]<br />
##: [[File:bleOBDScanner.svg|35px]] [[BLEODB2Scanner]]<br />
##: [[File:BLEPeripheralsScanner.svg|35px]] [[BLEPeripheralsScanner]]<br />
##: [[File:BluvisioniBEEK.jpg|65px]] [[BLEBluvisionBeeksScanner]]<br />
##: [[File:BLEGattCentral.svg|35px]] [[BLEGattCentral]]<br />
## [[File:i2c.svg|35px]] [https://en.wikipedia.org/wiki/I%C2%B2C I2C]<br />
##: [[File:watersensor.svg|35px]] [[PCA9536I2CWaterDetectionWithBuzzer]]<br />
##: [[File:TSL2561Light.svg|65px]] [[TSL2561I2CLight]]<br />
##: [[File:soundvibration.svg|35px]] [[ADC121C021I2CSoundVibrationShock]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=i2c-interface NCD I2C devices]<br />
##: [[File:grove-log.png|65px]] [https://www.seeedstudio.com/category/Grove-c-1003%7C%7C24.html?p=0 Grove devices via I2C]<br />
## [[File:usb-logo.svg|35px]] [https://en.wikipedia.org/wiki/USB USB 2.0]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:Phidgets-Logo.png|65px]] [https://www.phidgets.com/?tier=0&catid=3&pcid=12 Phidgets USB sensors]<br />
<!--##:[[File:modbus.svg|45px]] [[ModbusDevice]]--><br />
## [[File:xbee-pro-900hp.svg|35px]] [https://www.digikey.com/catalog/en/partgroup/xbee-pro-900hp/33082?utm_adgroup=RF%20&%20RFID XBee-Pro 900HP]<br />
##: [[File:relay-home-automation.svg|35px]] [[NCDXbee900Relay]]<br />
##: [[File:energy-monitor.svg|35px]] [[NCDXbee900EnergyMonitor]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=900hp-s3b NCD devices supporting XBee-Pro 900HP communication]<br />
<!-- ## [[File:libelium.svg|45px]] [[waspmoteBLECentral]]--><br />
##: [[File:libelium.svg|65px]] [http://www.libelium.com/libeliumworld/waspmote/ Libelium waspmote]<br />
##:: [[File:SmartEnvironment.jpg|65px]] [[Smart environment PRO]]<br />
##:: [[File:SmartAgriculture.png|65px]] [[Smart Agriculture]]<br />
##:: [[File:SmartWater.jpg|65px]] [[Smart Water]]<br />
##:: [[File:SmartWaterIons.png|65px]] [[Smart Water Ions]]<br />
##:: [[File:SmartCities.jpg|65px]] [[Smart Cities]]<br />
##:: [[File:SmartParking.jpg|65px]] [[Smart Parking]]<br />
##:: [[File:SmartSecurity.jpg|65px]] [[Smart Security]]<br />
##:: [[File:Radiation.png|65px]] [[Radiation]]<br />
##:: [[File:AmbientControl.png|65px]] [[Ambient Control]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=M2M_Bridge&diff=3903M2M Bridge2019-01-11T20:12:48Z<p>Amarrero: </p>
<hr />
<div>[[File:AmtechM2mBridge.svg|40px]] M2MBridge is a software stack that implements M2M edge functionality leveraging AMTech IoT Protocol<br />
# [[M2MBridge Functionality|Functionality]]<br />
# [[Configuration example]]<br />
# [[M2MBridge network]]<br />
#: [[Aggregation]]<br />
#: [[Edge reasoners]]<br />
#: [[Mesh network]]<br />
# [[Intelligence at the Edge]]<br />
#: [[WhatIsAPlugin|What is a plugin?]]<br />
#: [[EPC (Electronic product code)]]<br />
#: [[Smoothing observations]]<br />
# [[Observations production and consumption]]<br />
# [[Cloud Configuration]]<br />
#: [[Observation production config]]<br />
#: [[Validation]]<br />
#: [[Sample configuration for beacons]]<br />
# [[Automatic updates on bridge instance delete]]<br />
# [[Implementation notes]]<br />
# [[How to implement a new plugin]]<br />
# [[Set up a new Raspberry PI]]<br />
# [[Edge Configuration|M2MBridge Edge Configuration]]<br />
# [[M2MBridge updates]]<br />
# [[How to install & execute]]<br />
# [[HelloWorld plugin]]<br />
# Supported plugins<br />
## [[File:wi-fi.svg|35px]] [[File:tcp-ip.svg|35px]] [https://en.wikipedia.org/wiki/Ethernet Wifi or RJ45 Ethernet]<br />
##: [[File:SNMPDevice.svg|35px]] [[SNMPDevice]]<br />
##: [[File:LLRPReader.svg|35px]] [[LLRPReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:plc-icon.svg|35px]] [[OPCUADevice]]<br />
##: [[File:modbus.svg|45px]] [[ModbusDevice]]<br />
##: [[File:wioGeneric.png|45px]] [[Wio Devices]]<br />
###: [[File:wioNode.svg|35px]] [[wioNode]]<br />
###: [[File:wioLink.svg|35px]] [[wioLink]]<br />
## [[File:bt.svg|35px]] [https://en.wikipedia.org/wiki/Bluetooth_Low_Energy BLE 4.0]<br />
##: [[File:BLEbeaconsScanner.svg|35px]] [[BLEbeaconsScanner]]<br />
##: [[File:bleOBDScanner.svg|35px]] [[BLEODB2Scanner]]<br />
##: [[File:BLEPeripheralsScanner.svg|35px]] [[BLEPeripheralsScanner]]<br />
##: [[File:BluvisioniBEEK.jpg|65px]] [[BLEBluvisionBeeksScanner]]<br />
##: [[File:BLEGattCentral.svg|35px]] [[BLEGattCentral]]<br />
## [[File:i2c.svg|35px]] [https://en.wikipedia.org/wiki/I%C2%B2C I2C]<br />
##: [[File:watersensor.svg|35px]] [[PCA9536I2CWaterDetectionWithBuzzer]]<br />
##: [[File:TSL2561Light.svg|65px]] [[TSL2561I2CLight]]<br />
##: [[File:soundvibration.svg|35px]] [[ADC121C021I2CSoundVibrationShock]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=i2c-interface NCD I2C devices]<br />
##: [[File:grove-log.png|65px]] [https://www.seeedstudio.com/category/Grove-c-1003%7C%7C24.html?p=0 Grove devices via I2C]<br />
## [[File:usb-logo.svg|35px]] [https://en.wikipedia.org/wiki/USB USB 2.0]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:Phidgets-Logo.png|65px]] [https://www.phidgets.com/?tier=0&catid=3&pcid=12 Phidgets USB sensors]<br />
<!--##:[[File:modbus.svg|45px]] [[ModbusDevice]]--><br />
## [[File:xbee-pro-900hp.svg|35px]] [https://www.digikey.com/catalog/en/partgroup/xbee-pro-900hp/33082?utm_adgroup=RF%20&%20RFID XBee-Pro 900HP]<br />
##: [[File:relay-home-automation.svg|35px]] [[NCDXbee900Relay]]<br />
##: [[File:energy-monitor.svg|35px]] [[NCDXbee900EnergyMonitor]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=900hp-s3b NCD devices supporting XBee-Pro 900HP communication]<br />
<!-- ## [[File:libelium.svg|45px]] [[waspmoteBLECentral]]--><br />
##: [[File:libelium.svg|65px]] [http://www.libelium.com/libeliumworld/waspmote/ Libelium waspmote]<br />
##:: [[File:SmartEnvironment.jpg|65px]] [[Smart environment PRO]]<br />
##:: [[File:SmartAgriculture.png|65px]] [[Smart Agriculture]]<br />
##:: [[File:SmartWater.jpg|65px]] [[Smart Water]]<br />
##:: [[File:SmartWaterIons.png|65px]] [[Smart Water Ions]]<br />
##:: [[File:SmartCities.jpg|65px]] [[Smart Cities]]<br />
##:: [[File:SmartParking.jpg|65px]] [[Smart Parking]]<br />
##:: [[File:SmartSecurity.jpg|65px]] [[Smart Security]]<br />
##:: [[File:Radiation.png|65px]] [[Radiation]]<br />
##:: [[File:AmbientControl.png|65px]] [[Ambient Control]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=M2M_Bridge&diff=3902M2M Bridge2019-01-11T20:12:16Z<p>Amarrero: </p>
<hr />
<div>[[File:AmtechM2mBridge.svg|40px]] M2MBridge is a software stack that implements M2M edge functionality leveraging AMTech IoT Protocol<br />
# [[M2MBridge Functionality|Functionality]]<br />
# [[Configuration example]]<br />
# [[M2MBridge network]]<br />
#: [[Aggregation]]<br />
#: [[Edge reasoners]]<br />
#: [[Mesh network]]<br />
# [[Intelligence at the Edge]]<br />
#: [[WhatIsAPlugin|What is a plugin?]]<br />
#: [[EPC (Electronic product code)]]<br />
#: [[Smoothing observations]]<br />
# [[Observations production and consumption]]<br />
# [[Cloud Configuration]]<br />
#: [[Observation production config]]<br />
#: [[Validation]]<br />
#: [[Sample configuration for beacons]]<br />
# [[Automatic updates on bridge instance delete]]<br />
# [[Implementation notes]]<br />
# [[How to implement a new plugin]]<br />
# [[Set up a new Raspberry PI]]<br />
# [[Edge Configuration|M2MBridge Edge Configuration]]<br />
# [[M2MBridge updates]]<br />
# [[How to install & execute]]<br />
# [[HelloWorld plugin]]<br />
# Supported plugins<br />
## [[File:wi-fi.svg|35px]] [[File:tcp-ip.svg|35px]] [https://en.wikipedia.org/wiki/Ethernet Wifi or RJ45 Ethernet]<br />
##: [[File:SNMPDevice.svg|35px]] [[SNMPDevice]]<br />
##: [[File:LLRPReader.svg|35px]] [[LLRPReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:plc-icon.svg|35px]] [[OPCUADevice]]<br />
##: [[File:modbus.svg|45px]] [[ModbusDevice]]<br />
##: [[File:wioGeneric.png|35px]] [[Wio Devices]]<br />
###: [[File:wioNode.svg|35px]] [[wioNode]]<br />
###: [[File:wioLink.svg|35px]] [[wioLink]]<br />
## [[File:bt.svg|35px]] [https://en.wikipedia.org/wiki/Bluetooth_Low_Energy BLE 4.0]<br />
##: [[File:BLEbeaconsScanner.svg|35px]] [[BLEbeaconsScanner]]<br />
##: [[File:bleOBDScanner.svg|35px]] [[BLEODB2Scanner]]<br />
##: [[File:BLEPeripheralsScanner.svg|35px]] [[BLEPeripheralsScanner]]<br />
##: [[File:BluvisioniBEEK.jpg|65px]] [[BLEBluvisionBeeksScanner]]<br />
##: [[File:BLEGattCentral.svg|35px]] [[BLEGattCentral]]<br />
## [[File:i2c.svg|35px]] [https://en.wikipedia.org/wiki/I%C2%B2C I2C]<br />
##: [[File:watersensor.svg|35px]] [[PCA9536I2CWaterDetectionWithBuzzer]]<br />
##: [[File:TSL2561Light.svg|65px]] [[TSL2561I2CLight]]<br />
##: [[File:soundvibration.svg|35px]] [[ADC121C021I2CSoundVibrationShock]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=i2c-interface NCD I2C devices]<br />
##: [[File:grove-log.png|65px]] [https://www.seeedstudio.com/category/Grove-c-1003%7C%7C24.html?p=0 Grove devices via I2C]<br />
## [[File:usb-logo.svg|35px]] [https://en.wikipedia.org/wiki/USB USB 2.0]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:Phidgets-Logo.png|65px]] [https://www.phidgets.com/?tier=0&catid=3&pcid=12 Phidgets USB sensors]<br />
<!--##:[[File:modbus.svg|45px]] [[ModbusDevice]]--><br />
## [[File:xbee-pro-900hp.svg|35px]] [https://www.digikey.com/catalog/en/partgroup/xbee-pro-900hp/33082?utm_adgroup=RF%20&%20RFID XBee-Pro 900HP]<br />
##: [[File:relay-home-automation.svg|35px]] [[NCDXbee900Relay]]<br />
##: [[File:energy-monitor.svg|35px]] [[NCDXbee900EnergyMonitor]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=900hp-s3b NCD devices supporting XBee-Pro 900HP communication]<br />
<!-- ## [[File:libelium.svg|45px]] [[waspmoteBLECentral]]--><br />
##: [[File:libelium.svg|65px]] [http://www.libelium.com/libeliumworld/waspmote/ Libelium waspmote]<br />
##:: [[File:SmartEnvironment.jpg|65px]] [[Smart environment PRO]]<br />
##:: [[File:SmartAgriculture.png|65px]] [[Smart Agriculture]]<br />
##:: [[File:SmartWater.jpg|65px]] [[Smart Water]]<br />
##:: [[File:SmartWaterIons.png|65px]] [[Smart Water Ions]]<br />
##:: [[File:SmartCities.jpg|65px]] [[Smart Cities]]<br />
##:: [[File:SmartParking.jpg|65px]] [[Smart Parking]]<br />
##:: [[File:SmartSecurity.jpg|65px]] [[Smart Security]]<br />
##:: [[File:Radiation.png|65px]] [[Radiation]]<br />
##:: [[File:AmbientControl.png|65px]] [[Ambient Control]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=File:WioGeneric.png&diff=3901File:WioGeneric.png2019-01-11T20:11:44Z<p>Amarrero: </p>
<hr />
<div></div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=M2M_Bridge&diff=3900M2M Bridge2019-01-11T16:24:47Z<p>Amarrero: </p>
<hr />
<div>[[File:AmtechM2mBridge.svg|40px]] M2MBridge is a software stack that implements M2M edge functionality leveraging AMTech IoT Protocol<br />
# [[M2MBridge Functionality|Functionality]]<br />
# [[Configuration example]]<br />
# [[M2MBridge network]]<br />
#: [[Aggregation]]<br />
#: [[Edge reasoners]]<br />
#: [[Mesh network]]<br />
# [[Intelligence at the Edge]]<br />
#: [[WhatIsAPlugin|What is a plugin?]]<br />
#: [[EPC (Electronic product code)]]<br />
#: [[Smoothing observations]]<br />
# [[Observations production and consumption]]<br />
# [[Cloud Configuration]]<br />
#: [[Observation production config]]<br />
#: [[Validation]]<br />
#: [[Sample configuration for beacons]]<br />
# [[Automatic updates on bridge instance delete]]<br />
# [[Implementation notes]]<br />
# [[How to implement a new plugin]]<br />
# [[Set up a new Raspberry PI]]<br />
# [[Edge Configuration|M2MBridge Edge Configuration]]<br />
# [[M2MBridge updates]]<br />
# [[How to install & execute]]<br />
# [[HelloWorld plugin]]<br />
# Supported plugins<br />
## [[File:wi-fi.svg|35px]] [[File:tcp-ip.svg|35px]] [https://en.wikipedia.org/wiki/Ethernet Wifi or RJ45 Ethernet]<br />
##: [[File:SNMPDevice.svg|35px]] [[SNMPDevice]]<br />
##: [[File:LLRPReader.svg|35px]] [[LLRPReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:plc-icon.svg|35px]] [[OPCUADevice]]<br />
##: [[File:modbus.svg|45px]] [[ModbusDevice]]<br />
##: [[File:wioGeneric.svg|35px]] [[Wio Devices]]<br />
###: [[File:wioNode.svg|35px]] [[wioNode]]<br />
###: [[File:wioLink.svg|35px]] [[wioLink]]<br />
## [[File:bt.svg|35px]] [https://en.wikipedia.org/wiki/Bluetooth_Low_Energy BLE 4.0]<br />
##: [[File:BLEbeaconsScanner.svg|35px]] [[BLEbeaconsScanner]]<br />
##: [[File:bleOBDScanner.svg|35px]] [[BLEODB2Scanner]]<br />
##: [[File:BLEPeripheralsScanner.svg|35px]] [[BLEPeripheralsScanner]]<br />
##: [[File:BluvisioniBEEK.jpg|65px]] [[BLEBluvisionBeeksScanner]]<br />
##: [[File:BLEGattCentral.svg|35px]] [[BLEGattCentral]]<br />
## [[File:i2c.svg|35px]] [https://en.wikipedia.org/wiki/I%C2%B2C I2C]<br />
##: [[File:watersensor.svg|35px]] [[PCA9536I2CWaterDetectionWithBuzzer]]<br />
##: [[File:TSL2561Light.svg|65px]] [[TSL2561I2CLight]]<br />
##: [[File:soundvibration.svg|35px]] [[ADC121C021I2CSoundVibrationShock]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=i2c-interface NCD I2C devices]<br />
##: [[File:grove-log.png|65px]] [https://www.seeedstudio.com/category/Grove-c-1003%7C%7C24.html?p=0 Grove devices via I2C]<br />
## [[File:usb-logo.svg|35px]] [https://en.wikipedia.org/wiki/USB USB 2.0]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:Phidgets-Logo.png|65px]] [https://www.phidgets.com/?tier=0&catid=3&pcid=12 Phidgets USB sensors]<br />
<!--##:[[File:modbus.svg|45px]] [[ModbusDevice]]--><br />
## [[File:xbee-pro-900hp.svg|35px]] [https://www.digikey.com/catalog/en/partgroup/xbee-pro-900hp/33082?utm_adgroup=RF%20&%20RFID XBee-Pro 900HP]<br />
##: [[File:relay-home-automation.svg|35px]] [[NCDXbee900Relay]]<br />
##: [[File:energy-monitor.svg|35px]] [[NCDXbee900EnergyMonitor]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=900hp-s3b NCD devices supporting XBee-Pro 900HP communication]<br />
<!-- ## [[File:libelium.svg|45px]] [[waspmoteBLECentral]]--><br />
##: [[File:libelium.svg|65px]] [http://www.libelium.com/libeliumworld/waspmote/ Libelium waspmote]<br />
##:: [[File:SmartEnvironment.jpg|65px]] [[Smart environment PRO]]<br />
##:: [[File:SmartAgriculture.png|65px]] [[Smart Agriculture]]<br />
##:: [[File:SmartWater.jpg|65px]] [[Smart Water]]<br />
##:: [[File:SmartWaterIons.png|65px]] [[Smart Water Ions]]<br />
##:: [[File:SmartCities.jpg|65px]] [[Smart Cities]]<br />
##:: [[File:SmartParking.jpg|65px]] [[Smart Parking]]<br />
##:: [[File:SmartSecurity.jpg|65px]] [[Smart Security]]<br />
##:: [[File:Radiation.png|65px]] [[Radiation]]<br />
##:: [[File:AmbientControl.png|65px]] [[Ambient Control]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=M2M_Bridge&diff=3899M2M Bridge2019-01-11T16:23:28Z<p>Amarrero: </p>
<hr />
<div>[[File:AmtechM2mBridge.svg|40px]] M2MBridge is a software stack that implements M2M edge functionality leveraging AMTech IoT Protocol<br />
# [[M2MBridge Functionality|Functionality]]<br />
# [[Configuration example]]<br />
# [[M2MBridge network]]<br />
#: [[Aggregation]]<br />
#: [[Edge reasoners]]<br />
#: [[Mesh network]]<br />
# [[Intelligence at the Edge]]<br />
#: [[WhatIsAPlugin|What is a plugin?]]<br />
#: [[EPC (Electronic product code)]]<br />
#: [[Smoothing observations]]<br />
# [[Observations production and consumption]]<br />
# [[Cloud Configuration]]<br />
#: [[Observation production config]]<br />
#: [[Validation]]<br />
#: [[Sample configuration for beacons]]<br />
# [[Automatic updates on bridge instance delete]]<br />
# [[Implementation notes]]<br />
# [[How to implement a new plugin]]<br />
# [[Set up a new Raspberry PI]]<br />
# [[Edge Configuration|M2MBridge Edge Configuration]]<br />
# [[M2MBridge updates]]<br />
# [[How to install & execute]]<br />
# [[HelloWorld plugin]]<br />
# Supported plugins<br />
## [[File:wi-fi.svg|35px]] [[File:tcp-ip.svg|35px]] [https://en.wikipedia.org/wiki/Ethernet Wifi or RJ45 Ethernet]<br />
##: [[File:SNMPDevice.svg|35px]] [[SNMPDevice]]<br />
##: [[File:LLRPReader.svg|35px]] [[LLRPReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:plc-icon.svg|35px]] [[OPCUADevice]]<br />
##: [[File:modbus.svg|45px]] [[ModbusDevice]]<br />
##: [[File:wioGeneric.svg|35px]] [[Wio Devices]]<br />
###: [[File:wioNode.svg.svg|35px]] [[wioNode]]<br />
###: [[File:wioLink.svg|35px]] [[wioLink]]<br />
## [[File:bt.svg|35px]] [https://en.wikipedia.org/wiki/Bluetooth_Low_Energy BLE 4.0]<br />
##: [[File:BLEbeaconsScanner.svg|35px]] [[BLEbeaconsScanner]]<br />
##: [[File:bleOBDScanner.svg|35px]] [[BLEODB2Scanner]]<br />
##: [[File:BLEPeripheralsScanner.svg|35px]] [[BLEPeripheralsScanner]]<br />
##: [[File:BluvisioniBEEK.jpg|65px]] [[BLEBluvisionBeeksScanner]]<br />
##: [[File:BLEGattCentral.svg|35px]] [[BLEGattCentral]]<br />
## [[File:i2c.svg|35px]] [https://en.wikipedia.org/wiki/I%C2%B2C I2C]<br />
##: [[File:watersensor.svg|35px]] [[PCA9536I2CWaterDetectionWithBuzzer]]<br />
##: [[File:TSL2561Light.svg|65px]] [[TSL2561I2CLight]]<br />
##: [[File:soundvibration.svg|35px]] [[ADC121C021I2CSoundVibrationShock]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=i2c-interface NCD I2C devices]<br />
##: [[File:grove-log.png|65px]] [https://www.seeedstudio.com/category/Grove-c-1003%7C%7C24.html?p=0 Grove devices via I2C]<br />
## [[File:usb-logo.svg|35px]] [https://en.wikipedia.org/wiki/USB USB 2.0]<br />
##: [[File:thing-magic.svg|35px]] [[ThingMagicEPCReader]]<br />
##:: [[File:LLRPAntenna.svg|35px]] [[LLRPAntenna]]<br />
##: [[File:Phidgets-Logo.png|65px]] [https://www.phidgets.com/?tier=0&catid=3&pcid=12 Phidgets USB sensors]<br />
<!--##:[[File:modbus.svg|45px]] [[ModbusDevice]]--><br />
## [[File:xbee-pro-900hp.svg|35px]] [https://www.digikey.com/catalog/en/partgroup/xbee-pro-900hp/33082?utm_adgroup=RF%20&%20RFID XBee-Pro 900HP]<br />
##: [[File:relay-home-automation.svg|35px]] [[NCDXbee900Relay]]<br />
##: [[File:energy-monitor.svg|35px]] [[NCDXbee900EnergyMonitor]]<br />
##: [[File:ncd-i2c.png|65px]] [https://store.ncd.io/shop/?fwp_interface=900hp-s3b NCD devices supporting XBee-Pro 900HP communication]<br />
<!-- ## [[File:libelium.svg|45px]] [[waspmoteBLECentral]]--><br />
##: [[File:libelium.svg|65px]] [http://www.libelium.com/libeliumworld/waspmote/ Libelium waspmote]<br />
##:: [[File:SmartEnvironment.jpg|65px]] [[Smart environment PRO]]<br />
##:: [[File:SmartAgriculture.png|65px]] [[Smart Agriculture]]<br />
##:: [[File:SmartWater.jpg|65px]] [[Smart Water]]<br />
##:: [[File:SmartWaterIons.png|65px]] [[Smart Water Ions]]<br />
##:: [[File:SmartCities.jpg|65px]] [[Smart Cities]]<br />
##:: [[File:SmartParking.jpg|65px]] [[Smart Parking]]<br />
##:: [[File:SmartSecurity.jpg|65px]] [[Smart Security]]<br />
##:: [[File:Radiation.png|65px]] [[Radiation]]<br />
##:: [[File:AmbientControl.png|65px]] [[Ambient Control]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Observation_production_config&diff=3896Observation production config2018-12-12T17:08:11Z<p>Amarrero: /* Example */</p>
<hr />
<div>=== What is it===<br />
<br />
* Configuration of the observation types produced by the bridge instances<br />
* It is configured for each bridge instance type<br />
* It is automatically updated when bridge instances are deleted (if it is the last instances of its type in the bridge instance list, the observation production config for that thing type is deleted)<br />
<br />
=== Configuration options ===<br />
<br />
* When you access this configuration, you're presented with a list of thing types (initially empty).<br />
* You can add new thing types as a way of expressing a production for all the bridge thing instances belonging to that type. Therefore only those types associated to the things that are already configured as bridge instances are shown (things in the ''bridgeInstances'' property).<br />
* Once the type is added to the observation production configuration you can navigate to the produced observations and add new observation types. This allows you to express that those bridge instances that belong to the selected type can produce the observation that you're about to add/modify.<br />
* So you select an observation type. It has got to be an observation type listed in the observation types that this thing type can produce. See the definition of the corresponding thing type, ''observationproductionconfig'' property<br />
* Once selected you should configure the following properties:<br />
** [[Sensor%27s_network#Topics|topic]]<br />
** [[Sensor%27s_network|producer]] <br />
** [[Sensor%27s_network#targetthings|targetthings]]<br />
<br />
Remarks: The Amtech M2M bridge uses this configuration to automatically fill this fields in the observations it sends. The follower must have a role with access polices to the [[Activities#Thing types|thing type]] in order to get this information<br />
<br />
=== Example ===<br />
Let's show some more configuration details through an example:<br />
* As we can appreciate from the previous explanation, the configuration involves thing types and the observation types they produce. The first step is to open the bridge and go to observation production configuration setting:<br />
*: [[File:amtech_bridge_observationproductionconfig.png|850px|thumbnail|center|Open bridge and go to observation production configuration settings]]<br />
* When you navigate into it you're presented with a list of already configured thing types (initially empty):<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype_list.png|850px|thumbnail|center|Thing type list for observation production configuration]]<br />
* Then you can add or navigate to an existing entity type. Let's choose LLRPReader for the example:<br />
*: [[File:amtech_bridge_observationproductionconfig_ttype.png|850px|thumbnail|center|Specific thing type configuration]]<br />
* Then you can browse the list of observation types that it produces:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs_list.png|850px|thumbnail|center|Observation type list for a give thing type]]<br />
* Again you can add or delete existing entries: observation types in this case. Let's go to graiEPC config:<br />
*: [[File:amtech_bridge_observationproductionconfig_obs.png|850px|thumbnail|center|Specific observation type configuration]]<br />
* The example shows a LLRPReader that is configured to produce observations of type graiEPC. Then you configure the observation properties required to produce this observation and enforce security including fixed settings for topic, targetthings, producer, guestusers and guesttenants (See [[Sensor's network#Observations and observation types|Observations and observation types]]). In the example we set:<br />
** [[Sensor%27s_network#Topics|topic]] to /thingsInBoardroom/LLRPReader/#{smoothingResult}. #{smoothingResult} placeholder evaluated to ''new'' or ''lost'' so it allows us to group observations in corresponding child topics.<br />
** [[Sensor%27s_network|producer]] to #{thingId}. #{thingId} placeholder is replaced by the thing ID of the thing sending the observation.<br />
** [[Sensor%27s_network#targetthings|targetthings]] through a new page where you can add or edit existing target types:<br />
**: [[File:amtech_bridge_observationproductionconfig_targettypes_list.png|850px|thumbnail|center|List of target types for the targetthings]]<br />
**: For the example let's add/modify the type thingInBoardroom so we're presented with the targetthings properties:<br />
**: [[File:amtech_bridge_observationproductionconfig_targetthings.png|850px|thumbnail|center|Configuration of instances for the selected type in targetthings]]<br />
**: So you can configure the resource Id to #{thingId}:#{serialNumber} for instance. #{thingId} and #{serialNumber} placeholders are replaced with the thing ID of the thing sending the observation and the serial number from the graiEPC observation to uniquely identify the target thing.<br />
**: [[File:observ-prod-bridge-targething.png|850px|thumbnail|center|targetthings]]<br />
<br />
=== Placeholders ===<br />
<br />
Allows to set identifiers that will be substituted by real values at different intelligence layers. See [[Sensor%27s_network#Placeholders_substitution|placeholders]].<br />
<br />
Let's see some examples:<br />
* guesttenants set to #{companyPrefix} - In this case we use the placeholder to set guesttenants from graiEPC value companyPrefix. It allows you to control the access to observations and things from the intelligence in the edge.<br />
* topic set to /thingsInBoardroom/LLRPReader/#{smoothingResult}/#{country} - placeholder is used to group observations by new or lost and then by country.<br />
* [[File:observ-prod-placeholder.png|850px|thumbnail|center|placeholder]]<br />
<br />
<br />
=== Relation between thing types and the observation types allowed in the observation production configuration ===<br />
<br />
For the relation among thing types and observation production configuration (See [[Activities#Thing types|Thing types]])<br />
<br />
In the definition of a thing type you express the list of observation types it produces. It constrains the list of observation types that can be selected in the observation production configuration for that thing type. For instance, you're presented with a screen like this when you try to add new observations for the LLRPReader type.<br />
[[File:obser-prod-bridge-sel-observ.png|850px|thumbnail|center|Select observation type]]<br />
<br />
=== Thing type without observation production configuration ===<br />
<br />
A use case could require that an instance of thing type is needed just to receive [[Actions#Send_command|commands]], in that case the bridge configuration allows to set a thing instance without observation production configuration. '''Remark this thing type instance will not produce observations.'''</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=3894Releases2018-11-26T19:50:32Z<p>Amarrero: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*New websocket endpoint that allow consuming messages from multiple topics at the same time. The list of topics can be dynamically modified by sending control messages through the same websocket communication.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*Crud observations on location fields are not anymore sent when the format changes (from wkt to location json) or some spaces are added or removed<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*Solved issue with the retrieval of allegedly non-existent objects in the database when REST internal calls were present in the middle of an active transaction by using thread-independent transactions for the retrieving action.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* Added aggregation to M2MBridge bridges in a local area network, to achieve the configuration of this functionality, the following supported properties has been added to the ''amtechM2MBridge'' thing type<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* Resources with supported properties that were added or removed from their metadata appear as dirty (to be saved) in the editor and a message is shown<br />
* Security changes<br />
** Actors in follower admin are automatically refreshed according to the services they are subscribed to. (requires only publication of the activity with new actors, and follower sign in)<br />
* Supported properties holding links to entities can now be forced to use current tenant constraint by setting to true the property ''forceTenantConstraint'' in its semantic<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== To be released ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
<br />
<br />
''' Data changes '''<br />
* WioLink & WioNode<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=3893Releases2018-11-26T19:49:13Z<p>Amarrero: </p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*New websocket endpoint that allow consuming messages from multiple topics at the same time. The list of topics can be dynamically modified by sending control messages through the same websocket communication.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*Crud observations on location fields are not anymore sent when the format changes (from wkt to location json) or some spaces are added or removed<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*Solved issue with the retrieval of allegedly non-existent objects in the database when REST internal calls were present in the middle of an active transaction by using thread-independent transactions for the retrieving action.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* Added aggregation to M2MBridge bridges in a local area network, to achieve the configuration of this functionality, the following supported properties has been added to the ''amtechM2MBridge'' thing type<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* Resources with supported properties that were added or removed from their metadata appear as dirty (to be saved) in the editor and a message is shown<br />
* Security changes<br />
** Actors in follower admin are automatically refreshed according to the services they are subscribed to. (requires only publication of the activity with new actors, and follower sign in)<br />
* Supported properties holding links to entities can now be forced to use current tenant constraint by setting to true the property ''forceTenantConstraint'' in its semantic<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== To be released ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
<br />
<br />
''' Data changes '''<br />
* WioLink & WioNode<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Configuring_Wio_Link/Node_devices&diff=3857Configuring Wio Link/Node devices2018-08-07T19:58:35Z<p>Amarrero: </p>
<hr />
<div>To configure a Wio Link or Wio Node you should use the Android/iOS app that is available in the app store. You can find more information in [http://wiki.seeedstudio.com/Wio_Link/ this page].<br />
<br />
In order to add your Wio Link/Node devices to the AMTech platform you need to grant a wireless communication between the M2MBridge and each Wio device. To fulfill this requirement you may follow one of these alternatives:<br />
* Maintain the factory configuration of the default wireless interface, which is configured as a Wireless AP, and assure an Internet connection for the M2MBridge device through any other network interface or through the Digi Mesh.<br />
* Connect your M2MBridge to a wireless router that allows you to assign a static IP address and then connect each Wio device to the same router. The static IP address assigned to your M2MBridge will then be used as the custom server address for the Wio App.<br />
<br />
To add your Wio Link/Node device to the AMTech IoT platform, you should follow these steps after the application has been installed in your phone:<br />
# Configure the network in your phone to connect to the the wireless network offered by the AMTech M2MBridge device or follow any other method that allows you to be in the same network where the M2MBridge is connected. You will need to be able to get to the M2MBridge through a direct IP connection.<br />
# Open the Wio App and you will see a view like this one:<br />
#: [[File:wio-login.png|250px||thumbnail|center|Initial view]]<br />
# Click on "Global (new)" link to change to a custom server and type in the following address <code>http://172.20.10.1:8080</code> and click on "Save":<br />
#: [[File:wio-customize-server.png|250px||thumbnail|center|Customize server]]<br />
#: If you didn't keep the original configuration for the wireless network in the M2MBridge device then you will need to replace 172.20.10.1 for whatever other static address you configured it to have.<br />
# Now type in the following email '''amtech@amtech.mx''' and password '''4mt3ch.''' to login to the server. If everything worked as expected, you will get the following view:<br />
#: [[File:wio-logged.png|250px||thumbnail|center|Logged]]<br />
# Click on "Add your first device" button and follow the wizard:<br />
#* Select the type of Wio device that you're adding: Wio Link or Wio Node<br />
#* Do the indicated procedure in your Wio device to change it to configuration mode. Click on next.<br />
#*: [[File:wio-wizard2.png|250px||thumbnail|center|Wio add wizard]]<br />
#* Configure the wireless network that your Wio device will connect to. The Wio should be able to reach the M2MBridge through this configuration.<br />
#*: [[File:wio-wizard3.png|250px||thumbnail|center|Chose the wireless network for your Wio device]]<br />
#* Select the Wio device network (probably something starting with Wio_) and wait for the Wio device to be configured<br />
#*: [[File:wio-wizard4.png|250px||thumbnail|center|Wio is configured]]<br />
#*: [[File:wio-wizard5.png|250px||thumbnail|center|Wio is configured]]<br />
#* End up by typing a name for the Wio device. This name will be used later to configure this Wio device in the AMTech IoT Platform<br />
#*: [[File:wio-wizard6.png|250px||thumbnail|center|Configure a name]]<br />
# Once the device has been added, you will see it in the list of added devices and then you need to configure its ports. <br />
#: [[File:wio-device-added.png|250px||thumbnail|center|Device has been added]]<br />
# Tap the device to access its configuration and start dragging sensors to its ports resembling the same configured sensors that you have physically connect to your Wio device<br />
#: [[File:wio-configure-ports.png|250px||thumbnail|center|Configure ports]]<br />
# Click on update firmware<br />
#: [[File:wio-updating firmware.png|250px||thumbnail|center|Updating firmware]]<br />
# And that's it, that's all. You will end up with a configured Wio device<br />
#: [[File:wio-list-device-and-sensor-added.png|250px||thumbnail|center|Device has sensor has been added]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Configuring_Wio_Link/Node_devices&diff=3856Configuring Wio Link/Node devices2018-08-07T19:57:39Z<p>Amarrero: </p>
<hr />
<div>To configure a Wio Link or Wio Node you should use the Android/iOS app that is available in the app store. You can find more information in [http://wiki.seeedstudio.com/Wio_Link/ this page].<br />
<br />
In order to add your Wio Link/Node devices to the AMTech platform you need to grant a wireless communication between the M2MBridge and each Wio device. To fulfill this requirement you may follow one of these alternatives:<br />
* Maintain the factory configuration of the default wireless interface, which is configured as a Wireless AP, and assure an Internet connection for the M2MBridge device through any other network interface or through the Digi Mesh.<br />
* Connect your M2MBridge to a wireless router that allows you to assign a static IP address and then connect each Wio device to the same router. The static IP address assigned to your M2MBridge will then be used as the custom server address for the Wio App.<br />
<br />
To add your Wio Link/Node device to the AMTech IoT platform, you should follow these steps after the application has been installed in your phone:<br />
# Configure the network in your phone to connect to the the wireless network offered by the AMTech M2MBridge device or follow any other method that allows you to be in the same network where the M2MBridge is connected. You will need to be able to get to the M2MBridge through a direct IP connection.<br />
# Open the Wio App and you will see a view like this one:<br />
#: [[File:wio-login.png|250px||thumbnail|center|Initial view]]<br />
# Click on "Global (new)" link to change to a custom server and type in the following address <code>http://172.20.10.1:8080</code> and click on "Save":<br />
#: [[File:wio-customize-server.png|250px||thumbnail|center|Customize server]]<br />
#: If you didn't keep the original configuration for the wireless network in the M2MBridge device then you will need to replace 172.20.10.1 for whatever other static address you configured it to have.<br />
# Now type in the following email '''amtech@amtech.mx''' and password '''4mt3ch.''' to login to the server. If everything worked as expected, you will get the following view:<br />
#: [[File:wio-logged.png|250px||thumbnail|center|Logged]]<br />
# Click on "Add your first device" button and follow the wizard:<br />
#* Select the type of Wio device that you're adding<br />
#* Do the indicated procedure in your Wio device to change it to configuration mode. Click on next.<br />
#*: [[File:wio-wizard2.png|250px||thumbnail|center|Wio add wizard]]<br />
#* Configure the wireless network that your Wio device will connect to. The Wio should be able to reach the M2MBridge through this configuration.<br />
#*: [[File:wio-wizard3.png|250px||thumbnail|center|Chose the wireless network for your Wio device]]<br />
#* Select the Wio device network (probably something starting with Wio_) and wait for the Wio device to be configured<br />
#*: [[File:wio-wizard4.png|250px||thumbnail|center|Wio is configured]]<br />
#*: [[File:wio-wizard5.png|250px||thumbnail|center|Wio is configured]]<br />
#* End up by typing a name for the Wio device. This name will be used later to configure this Wio device in the AMTech IoT Platform<br />
#*: [[File:wio-wizard6.png|250px||thumbnail|center|Configure a name]]<br />
# Once the device has been added, you will see it in the list of added devices and then you need to configure its ports. <br />
#: [[File:wio-device-added.png|250px||thumbnail|center|Device has been added]]<br />
# Tap the device to access its configuration and start dragging sensors to its ports resembling the same configured sensors that you have physically connect to your Wio device<br />
#: [[File:wio-configure-ports.png|250px||thumbnail|center|Configure ports]]<br />
# Click on update firmware<br />
#: [[File:wio-updating firmware.png|250px||thumbnail|center|Updating firmware]]<br />
# And that's it, that's all. You will end up with a configured Wio device<br />
#: [[File:wio-list-device-and-sensor-added.png|250px||thumbnail|center|Device has sensor has been added]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Configuring_Wio_Link/Node_devices&diff=3855Configuring Wio Link/Node devices2018-08-07T19:55:50Z<p>Amarrero: </p>
<hr />
<div>To configure a Wio Link or Wio Node you should use the Android/iOS app that is available in the app store. You can find more information in [http://wiki.seeedstudio.com/Wio_Link/ this page].<br />
<br />
In order to add your Wio Link/Node devices to the AMTech platform you need to grant a wireless communication between the M2MBridge and each Wio device. To fulfill this requirement you may follow one of these alternatives:<br />
* Maintain the factory configuration of the default wireless interface, which is configured as a Wireless AP, and assure an Internet connection for the M2MBridge device through any other network interface or through the Digi Mesh.<br />
* Connect your M2MBridge to a wireless router that allows you to assign a static IP address and then connect each Wio device to the same router. The static IP address assigned to your M2MBridge will then be used as the custom server address for the Wio App.<br />
<br />
To add your Wio Link/Node device to the AMTech IoT platform, you should follow these steps after the application has been installed in your phone:<br />
# Configure the network in your phone to connect to the the wireless network offered by the AMTech M2MBridge device or follow any other method that allows you to be in the same network where the M2MBridge is connected. You will need to be able to get to the M2MBridge through a direct IP connection.<br />
# Open the Wio App and you will see a view like this one:<br />
#: [[File:wio-login.png|250px||thumbnail|center|Initial view]]<br />
# Click on "Global (new)" link to change to a custom server and type in the following address <code>http://172.20.10.1:8080</code> and click on "Save":<br />
#: [[File:wio-customize-server.png|250px||thumbnail|center|Customize server]]<br />
#: If you didn't keep the original configuration for the wireless network in the M2MBridge device then you will need to replace 172.20.10.1 for whatever other static address you configured it to have.<br />
# Now type in the following email '''amtech@amtech.mx''' and password '''4mt3ch.''' to login to the server. If everything works as expected, you will the following view:<br />
#: [[File:wio-logged.png|250px||thumbnail|center|Logged]]<br />
# Click on "Add your first device" button and follow the wizard:<br />
#* Select the type of Wio device that you're adding<br />
#* Do the indicated procedure in your Wio device to change it to configuration mode. Click on next.<br />
#*: [[File:wio-wizard2.png|250px||thumbnail|center|Wio add wizard]]<br />
#* Configure the wireless network that your Wio device will connect to. The Wio should be able to reach the M2MBridge through this configuration.<br />
#*: [[File:wio-wizard3.png|250px||thumbnail|center|Chose the wireless network for your Wio device]]<br />
#* Select the Wio device network (probably something starting with Wio_) and wait for the Wio device to be configured<br />
#*: [[File:wio-wizard4.png|250px||thumbnail|center|Wio is configured]]<br />
#*: [[File:wio-wizard5.png|250px||thumbnail|center|Wio is configured]]<br />
#* End up by typing a name for the Wio device. This name will be used later to configure this Wio device in the AMTech IoT Platform<br />
#*: [[File:wio-wizard6.png|250px||thumbnail|center|Configure a name]]<br />
# Once the device has been added, you will see it in the list of added devices and then you need to configure its ports. <br />
#: [[File:wio-device-added.png|250px||thumbnail|center|Device has been added]]<br />
# Tap the device to access its configuration and start dragging sensors to its ports resembling the same configured sensors that you have physically connect to your Wio device<br />
#: [[File:wio-configure-ports.png|250px||thumbnail|center|Configure ports]]<br />
# Click on update firmware<br />
#: [[File:wio-updating firmware.png|250px||thumbnail|center|Updating firmware]]<br />
# And that's it, that's all. You will end up with a configured Wio device<br />
#: [[File:wio-list-device-and-sensor-added.png|250px||thumbnail|center|Device has sensor has been added]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Configuring_Wio_Link/Node_devices&diff=3854Configuring Wio Link/Node devices2018-08-07T19:55:28Z<p>Amarrero: </p>
<hr />
<div>To configure a Wio Link or Wio Node you should use the Android/iOS app that is available in the app store. You can find more information in [http://wiki.seeedstudio.com/Wio_Link/ this page].<br />
<br />
In order to add your Wio Link/Node devices to the AMTech platform you need to grant a wireless communication between the M2MBridge and each Wio device. To fulfill this requirement you may follow one of these alternatives:<br />
* Maintain the factory configuration of the default wireless interface, which is configured as a Wireless AP, and assure an Internet connection for the M2MBridge device through any other network interface or through the Digi Mesh.<br />
* Connect your M2MBridge to a wireless router that allows you to assign a static IP address and then connect each Wio device to the same router. The static IP assigned to your M2MBridge will then be used as the custom server address for the Wio App.<br />
<br />
To add your Wio Link/Node device to the AMTech IoT platform, you should follow these steps after the application has been installed in your phone:<br />
# Configure the network in your phone to connect to the the wireless network offered by the AMTech M2MBridge device or follow any other method that allows you to be in the same network where the M2MBridge is connected. You will need to be able to get to the M2MBridge through a direct IP connection.<br />
# Open the Wio App and you will see a view like this one:<br />
#: [[File:wio-login.png|250px||thumbnail|center|Initial view]]<br />
# Click on "Global (new)" link to change to a custom server and type in the following address <code>http://172.20.10.1:8080</code> and click on "Save":<br />
#: [[File:wio-customize-server.png|250px||thumbnail|center|Customize server]]<br />
#: If you didn't keep the original configuration for the wireless network in the M2MBridge device then you will need to replace 172.20.10.1 for whatever other static address you configured it to have.<br />
# Now type in the following email '''amtech@amtech.mx''' and password '''4mt3ch.''' to login to the server. If everything works as expected, you will the following view:<br />
#: [[File:wio-logged.png|250px||thumbnail|center|Logged]]<br />
# Click on "Add your first device" button and follow the wizard:<br />
#* Select the type of Wio device that you're adding<br />
#* Do the indicated procedure in your Wio device to change it to configuration mode. Click on next.<br />
#*: [[File:wio-wizard2.png|250px||thumbnail|center|Wio add wizard]]<br />
#* Configure the wireless network that your Wio device will connect to. The Wio should be able to reach the M2MBridge through this configuration.<br />
#*: [[File:wio-wizard3.png|250px||thumbnail|center|Chose the wireless network for your Wio device]]<br />
#* Select the Wio device network (probably something starting with Wio_) and wait for the Wio device to be configured<br />
#*: [[File:wio-wizard4.png|250px||thumbnail|center|Wio is configured]]<br />
#*: [[File:wio-wizard5.png|250px||thumbnail|center|Wio is configured]]<br />
#* End up by typing a name for the Wio device. This name will be used later to configure this Wio device in the AMTech IoT Platform<br />
#*: [[File:wio-wizard6.png|250px||thumbnail|center|Configure a name]]<br />
# Once the device has been added, you will see it in the list of added devices and then you need to configure its ports. <br />
#: [[File:wio-device-added.png|250px||thumbnail|center|Device has been added]]<br />
# Tap the device to access its configuration and start dragging sensors to its ports resembling the same configured sensors that you have physically connect to your Wio device<br />
#: [[File:wio-configure-ports.png|250px||thumbnail|center|Configure ports]]<br />
# Click on update firmware<br />
#: [[File:wio-updating firmware.png|250px||thumbnail|center|Updating firmware]]<br />
# And that's it, that's all. You will end up with a configured Wio device<br />
#: [[File:wio-list-device-and-sensor-added.png|250px||thumbnail|center|Device has sensor has been added]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Configuring_Wio_Link/Node_devices&diff=3851Configuring Wio Link/Node devices2018-08-07T19:20:06Z<p>Amarrero: </p>
<hr />
<div>To configure a Wio Link or Wio Node you should use the Android/iOS app that is available in the app store. You can find more information in [http://wiki.seeedstudio.com/Wio_Link/ this page].<br />
<br />
In order to add your Wio Link/Node devices to the AMTech platform you need to grant a wireless communication between the M2MBridge and each Wio device. To fulfill this requirement you may follow one of these alternatives:<br />
* Maintain the factory configuration of the default wireless interface, which is configured as a Wireless AP, and assure an Internet connection for the M2MBridge device through any other network interface or through the Digi Mesh.<br />
* Connect your M2MBridge to a wireless router that allows you to assign a static IP and then connect each Wio device to the same router. The static IP assigned to your M2MBridge will then be used as the custom server address for the Wio App.<br />
<br />
To add your Wio Link/Node device to the AMTech IoT platform, you should follow these steps after the application has been installed in your phone:<br />
# Configure the network in your phone to connect to the the wireless network offered by the AMTech M2MBridge device or follow any other method that allows you to be in the same network where the M2MBridge is connected. You will need to be able to get to the M2MBridge through a direct IP connection.<br />
# Open the Wio App and you will see a view like this one:<br />
#: [[File:wio-login.png|250px||thumbnail|center|Initial view]]<br />
# Click on "Global (new)" link to change to a custom server and type in the following address <code>http://172.20.10.1:8080</code> and click on "Save":<br />
#: [[File:wio-customize-server.png|250px||thumbnail|center|Customize server]]<br />
#: If you didn't keep the original configuration for the wireless network in the M2MBridge device then you will need to replace 172.20.10.1 for whatever other static address you configured it to have.<br />
# Now type in the following email '''amtech@amtech.mx''' and password '''4mt3ch.''' to login to the server. If everything works as expected, you will the following view:<br />
#: [[File:wio-logged.png|250px||thumbnail|center|Logged]]<br />
# Click on "Add your first device" button and follow the wizard:<br />
#* Select the type of Wio device that you're adding<br />
#* Do the indicated procedure in your Wio device to change it to configuration mode. Click on next.<br />
#*: [[File:wio-wizard2.png|250px||thumbnail|center|Wio add wizard]]<br />
#* Configure the wireless network that your Wio device will connect to. The Wio should be able to reach the M2MBridge through this configuration.<br />
#*: [[File:wio-wizard3.png|250px||thumbnail|center|Chose the wireless network for your Wio device]]<br />
#* Select the Wio device network (probably something starting with Wio_) and wait for the Wio device to be configured<br />
#*: [[File:wio-wizard4.png|250px||thumbnail|center|Wio is configured]]<br />
#*: [[File:wio-wizard5.png|250px||thumbnail|center|Wio is configured]]<br />
#* End up by typing a name for the Wio device. This name will be used later to configure this Wio device in the AMTech IoT Platform<br />
#*: [[File:wio-wizard6.png|250px||thumbnail|center|Configure a name]]<br />
# Once the device has been added, you will see it in the list of added devices and then you need to configure its ports. <br />
#: [[File:wio-device-added.png|250px||thumbnail|center|Device has been added]]<br />
# Tap the device to access its configuration and start dragging sensors to its ports resembling the same configured sensors that you have physically connect to your Wio device<br />
#: [[File:wio-configure-ports.png|250px||thumbnail|center|Configure ports]]<br />
# Click on update firmware<br />
#: [[File:wio-updating firmware.png|250px||thumbnail|center|Updating firmware]]<br />
# And that's it, that's all. You will end up with a configured Wio device<br />
#: [[File:wio-list-device-and-sensor-added.png|250px||thumbnail|center|Device has sensor has been added]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Configuring_Wio_Link/Node_devices&diff=3850Configuring Wio Link/Node devices2018-08-07T19:18:35Z<p>Amarrero: </p>
<hr />
<div>To configure a Wio Link or Wio Node you should use the Android/iOS app that is available in the app store. You can find more information in [http://wiki.seeedstudio.com/Wio_Link/ this page].<br />
<br />
In order to add your Wio Link/Node devices to the AMTech platform you need to grant a wireless communication between the M2MBridge and each Wio device. To fulfill this requirement you may follow one of these alternatives:<br />
* Maintain the factory configuration of the default wireless interface, which is configured as a Wireless AP, and assure an Internet connection for the M2MBridge device through any other network interface or through the Digi Mesh.<br />
* Connect your M2MBridge to a wireless router that allows you to assign a static IP and then connect each Wio device to the same router. The static IP assigned to your M2MBridge will then be used as the custom server address for the Wio App.<br />
<br />
To add your Wio Link/Node device to the AMTech IoT platform, you should follow these steps after the application has been installed in your phone:<br />
# Configure the network in your phone to connect to the the wireless network offered by the AMTech M2MBridge device or follow any other method that allows you to be in the same network where the M2MBridge is connected. You will need to be able to get to the M2MBridge through a direct IP connection.<br />
# Open the Wio App and you will see a view like this one:<br />
#: [[File:wio-login.png|250px||thumbnail|center|Initial view]]<br />
# Click on "Global (new)" link to change to a custom server and type in the following address <code>http://172.20.10.1:8080</code> and click on "Save":<br />
#: [[File:wio-customize-server.png|250px||thumbnail|center|Customize server]]<br />
#: If you didn't keep the original configuration for the wireless network in the M2MBridge device then you will need to replace 172.20.10.1 for whatever other static address you configured it to have.<br />
# Now type in the following email '''amtech@amtech.mx''' and password '''4mt3ch.''' to login to the server. If everything works as expected, you will the following view:<br />
#: [[File:wio-logged.png|250px||thumbnail|center|Logged]]<br />
# Click on "Add your first device" button and follow the wizard:<br />
#* Select the type of Wio device that you're adding<br />
#* Do the indicated procedure in your Wio device to change it to configuration mode. Click on next.<br />
#*: [[File:wio-wizard2.png|250px||thumbnail|center|Wio add wizard]]<br />
#* Configure the wireless network that your Wio device will connect to. The Wio should be able to reach the M2MBridge through this configuration.<br />
#*: [[File:wio-wizard3.png|250px||thumbnail|center|Chose the wireless network for your Wio device]]<br />
#* Select the Wio device network (probably something starting with Wio_) and wait for the Wio device to be configured<br />
#*: [[File:wio-wizard4.png|250px||thumbnail|center|Wio is configured]]<br />
#*: [[File:wio-wizard5.png|250px||thumbnail|center|Wio is configured]]<br />
#* End up by typing a name for the Wio device. This name will be used later to configure this Wio device in the AMTech IoT Platform<br />
#*: [[File:wio-wizard6.png|250px||thumbnail|center|Configure a name]]<br />
#*: [[File:wio-device-added.png|250px||thumbnail|center|Device has been added]]<br />
# Once the device has been added, you will see it in the list of added devices and then you need to configure its ports. Tap the device to access this configuration and start dragging sensors to its ports resembling the same configured sensors that you have physically connect to your Wio device<br />
#: [[File:wio-configure-ports.png|250px||thumbnail|center|Configure ports]]<br />
# Click on update firmware<br />
#: [[File:wio-updating firmware.png|250px||thumbnail|center|Updating firmware]]<br />
# And that's it, that's all. You will end up with a configured Wio device<br />
#: [[File:wio-list-device-and-sensor-added.png|250px||thumbnail|center|Device has sensor has been added]]</div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=File:Wio-list-device-and-sensor-added.png&diff=3849File:Wio-list-device-and-sensor-added.png2018-08-07T19:17:23Z<p>Amarrero: </p>
<hr />
<div></div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=File:Wio-updating_firmware.png&diff=3848File:Wio-updating firmware.png2018-08-07T19:17:11Z<p>Amarrero: </p>
<hr />
<div></div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=File:Wio-configure-ports.png&diff=3847File:Wio-configure-ports.png2018-08-07T19:16:57Z<p>Amarrero: </p>
<hr />
<div></div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=File:Wio-device-added.png&diff=3846File:Wio-device-added.png2018-08-07T19:16:43Z<p>Amarrero: </p>
<hr />
<div></div>Amarrerohttp://wiki.amtech.mx/mediawiki/index.php?title=Configuring_Wio_Link/Node_devices&diff=3845Configuring Wio Link/Node devices2018-08-07T19:16:17Z<p>Amarrero: </p>
<hr />
<div>To configure a Wio Link or Wio Node you should use the Android/iOS app that is available in the app store. You can find more information in [http://wiki.seeedstudio.com/Wio_Link/ this page].<br />
<br />
In order to add your Wio Link/Node devices to the AMTech platform you need to grant a wireless communication between the M2MBridge and each Wio device. To fulfill this requirement you may follow one of these alternatives:<br />
* Maintain the factory configuration of the default wireless interface, which is configured as a Wireless AP, and assure an Internet connection for the M2MBridge device through any other network interface or through the Digi Mesh.<br />
* Connect your M2MBridge to a wireless router that allows you to assign a static IP and then connect each Wio device to the same router. The static IP assigned to your M2MBridge will then be used as the custom server address for the Wio App.<br />
<br />
To add your Wio Link/Node device to the AMTech IoT platform, you should follow these steps after the application has been installed in your phone:<br />
# Configure the network in your phone to connect to the the wireless network offered by the AMTech M2MBridge device or follow any other method that allows you to be in the same network where the M2MBridge is connected. You will need to be able to get to the M2MBridge through a direct IP connection.<br />
# Open the Wio App and you will see a view like this one:<br />
#: [[File:wio-login.png|250px||thumbnail|center|Initial view]]<br />
# Click on "Global (new)" link to change to a custom server and type in the following address <code>http://172.20.10.1:8080</code> and click on "Save":<br />
#: [[File:wio-customize-server.png|250px||thumbnail|center|Customize server]]<br />
#: If you didn't keep the original configuration for the wireless network in the M2MBridge device then you will need to replace 172.20.10.1 for whatever other static address you configured it to have.<br />
# Now type in the following email '''amtech@amtech.mx''' and password '''4mt3ch.''' to login to the server. If everything works as expected, you will the following view:<br />
#: [[File:wio-logged.png|250px||thumbnail|center|Logged]]<br />
# Click on "Add your first device" button and follow the wizard:<br />
#* Select the type of Wio device that you're adding<br />
#* Do the indicated procedure in your Wio device to change it to configuration mode. Click on next.<br />
#*: [[File:wio-wizard2.png|250px||thumbnail|center|Wio add wizard]]<br />
#* Configure the wireless network that your Wio device will connect to. It should be able to reach the M2MBridge through this configuration.<br />
#*: [[File:wio-wizard3.png|250px||thumbnail|center|Chose the wireless network for your Wio device]]<br />
#* Select the Wio device network (probably something starting with Wio_) and wait for the Wio device to be configured<br />
#*: [[File:wio-wizard4.png|250px||thumbnail|center|Wio is configured]]<br />
#*: [[File:wio-wizard5.png|250px||thumbnail|center|Wio is configured]]<br />
#* End up by typing a name for the Wio device. This name will be used later to configure this Wio device in the AMTech IoT Platform<br />
#*: [[File:wio-wizard6.png|250px||thumbnail|center|Configure a name]]<br />
#*: [[File:wio-device-added.png|250px||thumbnail|center|Device has been added]]<br />
# Once the device has been added, you will see it in the list of added devices and then you need to configure its ports. Tap the device to access this configuration and start dragging sensors to its ports resembling the same configured sensors that you have physically connect to your Wio device<br />
#: [[File:wio-configure-ports.png|250px||thumbnail|center|Configure ports]]<br />
# Click on update firmware<br />
#: [[File:wio-updating firmware.png|250px||thumbnail|center|Updating firmware]]<br />
# And that's it, that's all. You will end up with a configured Wio device<br />
#: [[File:wio-list-device-and-sensor-added.png|250px||thumbnail|center|Device has sensor has been added]]</div>Amarrero