SlideShare une entreprise Scribd logo
1  sur  46
Rifartek Middleware  Programming Training Course How to use ClientRobot
Outline ,[object Object],[object Object]
CliRobot Integration Script
Integrate ZigBee into DB (1/5)  ,[object Object],[object Object]
Integrate ZigBee into DB (2/5)  ,[object Object],[object Object],[object Object]
Integrate ZigBee into DB (3/5)  ,[object Object],[object Object]
Integrate ZigBee into DB (4/5) String a[] = id.split(","); String param[] = new String[2]; param[0] = "execute"; param[1] = "INSERT INTO zigbee(allid,insertTime,node_id,tag_id,LQI,RSSI) " + "values('"+id+"',NOW(),"+a[0]+","+a[1]+","+a[2]+","+a[3]+")"; try{ frame.call("Database",param); }catch(Exception e){ }
Integrate ZigBee into DB (5/5) ,[object Object]
Integrate ZigBee into File
More about ClientRobot Integration
CliRobot and ServRobot ,[object Object],ServRobot module1 module2 CliRobot tab1 tab1 Negotiate  Number of Modules Module attributes Security Mechanisms  …
CliRobot and ServRobot (Cont.) ,[object Object],ServRobot CliRobot sendMsg (String) OnMsg(String) call(module, param) OnCmd( ) sendData (String) Server send RFID Tag information Client request server module to do command
CliRobot and Extension ,[object Object],[object Object]
CliRobot and Extension (Cont.) ,[object Object],CliRobot Receive Message For each module tab Is script? Is plugin? For each plugin Invoke plugin’s OnMsg() method dynamically execute statement done for this module yes yes No No
Script of CliRobot ,[object Object],[object Object],[object Object],[object Object]
Plugins of CliRobot ,[object Object],[object Object],[object Object],[object Object]
CliRobot Integration Using Script
Integrate ZigBee into DB (1/5)  ,[object Object],[object Object]
Integrate ZigBee into DB (2/5)  ,[object Object],[object Object],[object Object]
Integrate ZigBee into DB (3/5)  ,[object Object],[object Object]
Integrate ZigBee into DB (4/5) String a[] = id.split(","); String param[] = new String[2]; param[0] = "execute"; param[1] = "INSERT INTO zigbee(allid,insertTime,node_id,tag_id,LQI,RSSI) " + "values('"+id+"',NOW(),"+a[0]+","+a[1]+","+a[2]+","+a[3]+")"; try{ frame.call("Database",param); }catch(Exception e){ }
Integrate ZigBee into DB (5/5) ,[object Object]
Integrate ZigBee into File
CliRobot Integration Using Plugin
The “ RifartekRobotPlugin ” base class (1/3) ,[object Object],[object Object],[object Object],[object Object],RifartekRobotPlugin MyPlugin OOP Extends java.awt.Frame OOP Extends Abstract class
The “ RifartekRobotPlugin ” base class (2/3) ,[object Object],[object Object],Parent: The CliRobot reference ModuleName: The name of corresponding module that this plugin resident  RifartekRobotPlugin( WRobotFrame parent, String moduleName); Explanation  Method prototype The initialization jobs that have to do when the corresponding module is started or loaded. OnLoad( ) The cleanup jobs that have to do when the corresponding module is closed or unloaded. OnUnLoad( ) Explanation  Method prototype
The “ RifartekRobotPlugin ” base class (3/3) ,[object Object],The cleanup jobs that have to do when the plugin is stop by plugin management panel  OnDestroy( ) The callback method that the PDI architecture would invoke when CliRobot receives a message from corresponding module. OnMsg(String msg,  String antenna,  String moduleName) The callback method that the PDI architecture would invoke when CliRobot receives a message from corresponding module and it founds that the plugin is busy processing previous jobs.  OnBattleNeck(int buffer) buffer means the number of accumulated un-dispatched messages Simpler version of OnMsg( ) OnMsg(String msg) Explanation  Method prototype
Basic steps to development plugin ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Basic steps to development plugin – 1. Extend RifartekRobotPlugin class
Basic steps to development plugin – 2. Overwrite necessary methods
Basic steps to development plugin – 3. Compile  ,[object Object],[object Object],[object Object],[object Object]
Basic steps to development plugin – 4. Test with CliRobot ,[object Object]
Basic steps to development plugin – 5. Enhance functionality (1/3) Prepare a StringBuffer and  TextArea to  display read tags Initialize and  setup UI properties
Basic steps to development plugin – 5. Enhance functionality (2/3) append tags into StringBuffer each time the CliRobot invokes the OnMsg method.  And update TextArea to show the status
Basic steps to development plugin – 5. Enhance functionality (3/3)
Use Eclipse to development plugins ,[object Object],[object Object]
Steps of using Eclipse  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Steps of using Eclipse – 1. Create One Eclipse Workspace ,[object Object],[object Object],[object Object],[object Object]
Steps of using Eclipse – 2. Create Java Project ,[object Object]
Steps of using Eclipse – 3. Copy CliRobot related files ,[object Object],[object Object],[object Object]
Steps of using Eclipse – 4. Setup Compilation Parameters (1/5) ,[object Object],[object Object],[object Object],Before setting,  everything is mess
Steps of using Eclipse – 4. Setup Compilation Parameters (2/5) ,[object Object],[object Object],[object Object],[object Object]
Steps of using Eclipse – 4. Setup Compilation Parameters (3/5) ,[object Object]
Steps of using Eclipse – 4. Setup Compilation Parameters (4/5) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Steps of using Eclipse – 4. Setup Compilation Parameters (5/5)
Steps of using Eclipse – 5. Test

Contenu connexe

Tendances

Tendances (20)

Spring boot
Spring bootSpring boot
Spring boot
 
Doing the Impossible
Doing the ImpossibleDoing the Impossible
Doing the Impossible
 
Introduction to Griffon
Introduction to GriffonIntroduction to Griffon
Introduction to Griffon
 
Legacy Code Kata v3.0
Legacy Code Kata v3.0Legacy Code Kata v3.0
Legacy Code Kata v3.0
 
Karate, the black belt of HTTP API testing?
Karate, the black belt of HTTP API testing?Karate, the black belt of HTTP API testing?
Karate, the black belt of HTTP API testing?
 
Legacy Dependency Kata v2.0
Legacy Dependency Kata v2.0Legacy Dependency Kata v2.0
Legacy Dependency Kata v2.0
 
Python Programming Essentials - M28 - Debugging with pdb
Python Programming Essentials - M28 - Debugging with pdbPython Programming Essentials - M28 - Debugging with pdb
Python Programming Essentials - M28 - Debugging with pdb
 
Izumi 1.0: Your Next Scala Stack
Izumi 1.0: Your Next Scala StackIzumi 1.0: Your Next Scala Stack
Izumi 1.0: Your Next Scala Stack
 
ScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency InjectionScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency Injection
 
Scala, Functional Programming and Team Productivity
Scala, Functional Programming and Team ProductivityScala, Functional Programming and Team Productivity
Scala, Functional Programming and Team Productivity
 
JUnit 5 - Evolution and Innovation - SpringOne Platform 2019
JUnit 5 - Evolution and Innovation - SpringOne Platform 2019JUnit 5 - Evolution and Innovation - SpringOne Platform 2019
JUnit 5 - Evolution and Innovation - SpringOne Platform 2019
 
JUnit 5 - The Next Generation
JUnit 5 - The Next GenerationJUnit 5 - The Next Generation
JUnit 5 - The Next Generation
 
Hyper-pragmatic Pure FP testing with distage-testkit
Hyper-pragmatic Pure FP testing with distage-testkitHyper-pragmatic Pure FP testing with distage-testkit
Hyper-pragmatic Pure FP testing with distage-testkit
 
JavaFX8 TestFX - CDI
JavaFX8   TestFX - CDIJavaFX8   TestFX - CDI
JavaFX8 TestFX - CDI
 
JUnit 5
JUnit 5JUnit 5
JUnit 5
 
Jython 2.7 and techniques for integrating with Java - Frank Wierzbicki
Jython 2.7 and techniques for integrating with Java - Frank WierzbickiJython 2.7 and techniques for integrating with Java - Frank Wierzbicki
Jython 2.7 and techniques for integrating with Java - Frank Wierzbicki
 
Introduction to jython
Introduction to jythonIntroduction to jython
Introduction to jython
 
What do you mean it needs to be Java based? How jython saved the day.
What do you mean it needs to be Java based? How jython saved the day.What do you mean it needs to be Java based? How jython saved the day.
What do you mean it needs to be Java based? How jython saved the day.
 
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and MockitoAn Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
 
Sour Pickles
Sour PicklesSour Pickles
Sour Pickles
 

En vedette

Rifartek Robot Training Course - How to use WebRobot
Rifartek Robot Training Course - How to use WebRobotRifartek Robot Training Course - How to use WebRobot
Rifartek Robot Training Course - How to use WebRobot
Tsai Tsung-Yi
 
RFID Software Technology - Course Outline
RFID Software Technology - Course OutlineRFID Software Technology - Course Outline
RFID Software Technology - Course Outline
Tsai Tsung-Yi
 
CompTIA RFID+ Course Outline
CompTIA RFID+ Course OutlineCompTIA RFID+ Course Outline
CompTIA RFID+ Course Outline
Tsai Tsung-Yi
 

En vedette (6)

Rifartek Robot Training Course - How to use WebRobot
Rifartek Robot Training Course - How to use WebRobotRifartek Robot Training Course - How to use WebRobot
Rifartek Robot Training Course - How to use WebRobot
 
RFID Software Technology - Course Outline
RFID Software Technology - Course OutlineRFID Software Technology - Course Outline
RFID Software Technology - Course Outline
 
Introdução ao Neuromarketing
Introdução ao NeuromarketingIntrodução ao Neuromarketing
Introdução ao Neuromarketing
 
CompTIA RFID+ Course Outline
CompTIA RFID+ Course OutlineCompTIA RFID+ Course Outline
CompTIA RFID+ Course Outline
 
K to 12 - Grade 8 Science Learner Module
K to 12 - Grade 8 Science Learner ModuleK to 12 - Grade 8 Science Learner Module
K to 12 - Grade 8 Science Learner Module
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similaire à Rifartek Robot Training Course - How to use ClientRobot

Beyond the Loadable Module
Beyond the Loadable ModuleBeyond the Loadable Module
Beyond the Loadable Module
Vladimir Ulogov
 
Creating Custom Dojo Widgets Using WTP
Creating Custom Dojo Widgets Using WTPCreating Custom Dojo Widgets Using WTP
Creating Custom Dojo Widgets Using WTP
nsandonato
 

Similaire à Rifartek Robot Training Course - How to use ClientRobot (20)

Where's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind PloneWhere's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind Plone
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
Performance and Scalability Testing with Python and Multi-Mechanize
Performance and Scalability Testing with Python and Multi-MechanizePerformance and Scalability Testing with Python and Multi-Mechanize
Performance and Scalability Testing with Python and Multi-Mechanize
 
Uploading files using selenium web driver
Uploading files using selenium web driverUploading files using selenium web driver
Uploading files using selenium web driver
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
Beyond the Loadable Module
Beyond the Loadable ModuleBeyond the Loadable Module
Beyond the Loadable Module
 
Joomla! Day Chicago 2011 Presentation - Steven Pignataro
Joomla! Day Chicago 2011 Presentation - Steven PignataroJoomla! Day Chicago 2011 Presentation - Steven Pignataro
Joomla! Day Chicago 2011 Presentation - Steven Pignataro
 
The Ring programming language version 1.8 book - Part 95 of 202
The Ring programming language version 1.8 book - Part 95 of 202The Ring programming language version 1.8 book - Part 95 of 202
The Ring programming language version 1.8 book - Part 95 of 202
 
Creating a modern web application using Symfony API Platform, ReactJS and Red...
Creating a modern web application using Symfony API Platform, ReactJS and Red...Creating a modern web application using Symfony API Platform, ReactJS and Red...
Creating a modern web application using Symfony API Platform, ReactJS and Red...
 
Griffon Presentation
Griffon PresentationGriffon Presentation
Griffon Presentation
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Useful practices of creation automatic tests by using cucumber jvm
Useful practices of creation automatic tests by using cucumber jvmUseful practices of creation automatic tests by using cucumber jvm
Useful practices of creation automatic tests by using cucumber jvm
 
Creating Custom Dojo Widgets Using WTP
Creating Custom Dojo Widgets Using WTPCreating Custom Dojo Widgets Using WTP
Creating Custom Dojo Widgets Using WTP
 
Pythonpresent
PythonpresentPythonpresent
Pythonpresent
 
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
MobileConf 2021 Slides:  Let's build macOS CLI Utilities using SwiftMobileConf 2021 Slides:  Let's build macOS CLI Utilities using Swift
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applications
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Bring the fun back to java
Bring the fun back to javaBring the fun back to java
Bring the fun back to java
 
JavaOne 2009 BOF-5189 Griffon In Depth
JavaOne 2009 BOF-5189 Griffon In DepthJavaOne 2009 BOF-5189 Griffon In Depth
JavaOne 2009 BOF-5189 Griffon In Depth
 

Dernier

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Rifartek Robot Training Course - How to use ClientRobot

  • 1. Rifartek Middleware Programming Training Course How to use ClientRobot
  • 2.
  • 4.
  • 5.
  • 6.
  • 7. Integrate ZigBee into DB (4/5) String a[] = id.split(","); String param[] = new String[2]; param[0] = "execute"; param[1] = "INSERT INTO zigbee(allid,insertTime,node_id,tag_id,LQI,RSSI) " + "values('"+id+"',NOW(),"+a[0]+","+a[1]+","+a[2]+","+a[3]+")"; try{ frame.call("Database",param); }catch(Exception e){ }
  • 8.
  • 10. More about ClientRobot Integration
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 18.
  • 19.
  • 20.
  • 21. Integrate ZigBee into DB (4/5) String a[] = id.split(","); String param[] = new String[2]; param[0] = "execute"; param[1] = "INSERT INTO zigbee(allid,insertTime,node_id,tag_id,LQI,RSSI) " + "values('"+id+"',NOW(),"+a[0]+","+a[1]+","+a[2]+","+a[3]+")"; try{ frame.call("Database",param); }catch(Exception e){ }
  • 22.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. Basic steps to development plugin – 1. Extend RifartekRobotPlugin class
  • 30. Basic steps to development plugin – 2. Overwrite necessary methods
  • 31.
  • 32.
  • 33. Basic steps to development plugin – 5. Enhance functionality (1/3) Prepare a StringBuffer and TextArea to display read tags Initialize and setup UI properties
  • 34. Basic steps to development plugin – 5. Enhance functionality (2/3) append tags into StringBuffer each time the CliRobot invokes the OnMsg method. And update TextArea to show the status
  • 35. Basic steps to development plugin – 5. Enhance functionality (3/3)
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. Steps of using Eclipse – 4. Setup Compilation Parameters (5/5)
  • 46. Steps of using Eclipse – 5. Test