This document discusses testing for Internet of Things (IoT) devices. It describes the challenges of testing IoT hardware, firmware, software and cloud integration. It proposes building a modular, scalable and reliable end-to-end automated testing environment to test IoT devices and scenarios. Example test cases are provided to demonstrate turning lights on and off from a mobile app and wireless switch. Vision system and test automation approaches are also summarized.
Powering a live escape game with ecf and efxclipseChristoph Keimel
During the talk I will show how we used Eclipse technologies to create software for an enhanced live escape game. To demonstrate the system I will show the core riddle of the game: a “bomb disarming simulation” where you physically need to cut the correct cables to disarm it, just like 007 in the movies. That is … if you can pass the fingerprint scanner to open the case!
The setup consists of a frontend built with e(fx)clipse which leverages JavaFX to create a cool “spy” look & feel. The disarming simulation itself uses the Raspberry Pi GPIO to talk to its sensors and actors. And of course you need an operator application to supervise the gameplay. The components use the ECF Implementation of OSGi remote services to communicate in a dynamic system of remote IoT gadgets and JavaFX applications. The presentation will show how these components work together.
All the while the clock will be ticking and it will be up to you to pick up the hints and save the day!
The talk is targeted at enthusiasts who would like to leverage Eclipse technologies to create cool stuff in little time and with a small budget.
Smartphones, tablets, TVs, cars and smartwatches: Android is everywhere enabling users and developers with rich set of applications, libraries and services. Android Things brings such a power to virtually any object, any “thing”: using a low-cost (yet powerful) board, developer can add intelligence and connectivity to home, industries, vehicles and even medical appliances. This presentation introduces practical concepts around the Android Things platform and how to have fun with it.
Creating Asha Games: Game Pausing, Orientation, Sensors and GesturesJussi Pohjolainen
This document discusses various techniques for creating games in Asha OS, including game pausing, handling device orientation changes, using mobile sensors, and gestures. It covers pausing a game when the phone rings or the back button is pressed using showNotify() and hideNotify() methods. It also discusses setting the UI orientation, getting sensor data, and handling threading and synchronization for pausing the game loop.
An Arduino guide for beginners.
Topics covered: what is it, use cases examples, microcontrollers vs microprocessors, pins and connections, IDEs, demos.
In this session IOT expert Bob Gallup walked us through the basics of electronics and taught us how to do some basic wiring and programming on an Adafruit Trinket micro processor.
The document provides an overview of an Arduino workshop. It outlines exercises that attendees will complete, including blinking an LED, reading a button input, and fading an RGB LED using pulse width modulation. It also discusses what Arduino is used for, such as interactive art, robots, and commercial products. Examples of where Arduino is used include schools, art installations, and 3D printers.
Powering a live escape game with ecf and efxclipseChristoph Keimel
During the talk I will show how we used Eclipse technologies to create software for an enhanced live escape game. To demonstrate the system I will show the core riddle of the game: a “bomb disarming simulation” where you physically need to cut the correct cables to disarm it, just like 007 in the movies. That is … if you can pass the fingerprint scanner to open the case!
The setup consists of a frontend built with e(fx)clipse which leverages JavaFX to create a cool “spy” look & feel. The disarming simulation itself uses the Raspberry Pi GPIO to talk to its sensors and actors. And of course you need an operator application to supervise the gameplay. The components use the ECF Implementation of OSGi remote services to communicate in a dynamic system of remote IoT gadgets and JavaFX applications. The presentation will show how these components work together.
All the while the clock will be ticking and it will be up to you to pick up the hints and save the day!
The talk is targeted at enthusiasts who would like to leverage Eclipse technologies to create cool stuff in little time and with a small budget.
Smartphones, tablets, TVs, cars and smartwatches: Android is everywhere enabling users and developers with rich set of applications, libraries and services. Android Things brings such a power to virtually any object, any “thing”: using a low-cost (yet powerful) board, developer can add intelligence and connectivity to home, industries, vehicles and even medical appliances. This presentation introduces practical concepts around the Android Things platform and how to have fun with it.
Creating Asha Games: Game Pausing, Orientation, Sensors and GesturesJussi Pohjolainen
This document discusses various techniques for creating games in Asha OS, including game pausing, handling device orientation changes, using mobile sensors, and gestures. It covers pausing a game when the phone rings or the back button is pressed using showNotify() and hideNotify() methods. It also discusses setting the UI orientation, getting sensor data, and handling threading and synchronization for pausing the game loop.
An Arduino guide for beginners.
Topics covered: what is it, use cases examples, microcontrollers vs microprocessors, pins and connections, IDEs, demos.
In this session IOT expert Bob Gallup walked us through the basics of electronics and taught us how to do some basic wiring and programming on an Adafruit Trinket micro processor.
The document provides an overview of an Arduino workshop. It outlines exercises that attendees will complete, including blinking an LED, reading a button input, and fading an RGB LED using pulse width modulation. It also discusses what Arduino is used for, such as interactive art, robots, and commercial products. Examples of where Arduino is used include schools, art installations, and 3D printers.
HITBSecConf 2016-Create Your Own Bad UsbSeunghun han
This document describes IRON-HID, a project for creating custom USB devices that can exploit system vulnerabilities. It discusses using a modified portable charger called PowerShock to test vulnerabilities in smartphones, POS systems, and PCs. The PowerShock uses a Teensy or Arduino board running IRON-HID firmware to emulate a keyboard or mass storage device. It can automatically enter PINs, log keystrokes, capture screenshots, and execute commands on connected devices. Demo attacks show exploiting backup PIN locks on Android phones and grabbing card data from vulnerable POS systems. Additional ideas include modifying USB keyboards and card readers to secretly run the IRON-HID tests on colleague's devices.
This document provides information about the ARDX Arduino experimentation kit from Oomlout, including:
- The overall goal of the kit is to get comfortable using electronic components through simple circuits and learning why each circuit works.
- Oomlout is a design company focused on producing "delightfully fun open source products."
- All of Oomlout's projects are open source under a Creative Commons license, allowing free downloading, reproduction, modification, and distribution of the materials with credit given to Oomlout.
- The document provides an overview of assembling the kit pieces, installing the software, basic programming and electronics primers, and an index of the circuits included in the
HITBSecConf 2017-Shadow-Box-the Practical and Omnipotent SandboxSeunghun han
The document presents Shadow-Box, a lightweight hypervisor-based kernel protector designed for real world deployment. Shadow-Box uses virtualization technology to separate the machine into a secure host (Ring -1) and normal guest (Ring 0-3). It shares kernel memory between the two worlds to reduce overhead. The host can monitor the guest to detect rootkits and other attacks modifying kernel objects or function pointers. The author discusses lessons learned from deploying Shadow-Box, such as handling mutable kernel code and properly configuring cache types in the extended page table.
BlackHat Asia 2017-Myth and Truth about Hypervisor-Based Kernel ProtectorSeunghun han
This document presents Shadow-box, a lightweight hypervisor-based kernel protector developed by the authors to defend the Linux kernel from security threats in real-world environments. The authors describe Shadow-box's architecture, which uses virtualization technology to separate the system into a secure host and normal guest. Shadow-box shares kernel memory between the two worlds to reduce overhead. It monitors the guest to detect unauthorized kernel object modifications or rootkit activity. The authors discuss lessons learned from deploying Shadow-box, such as dealing with false positives, performance issues, and aspects of real-world systems not addressed in previous research.
This document provides specifications for various Arduino boards and shields. It lists the microcontroller, operating voltage, input/output pins, memory, and other technical specifications. Some boards described include the Arduino UNO, Arduino Nano, Arduino Pro Mini, Arduino Motor Shield, Arduino Ethernet Shield, Arduino GSM Shield, Arduino WiFi Shield 101, and boards for wearables, 3D printing, and internet of things applications.
This PPT gives information about:
1. Introduction to Architecture and features of 8051 Microcontrollers..
2. Specifications (with package detail), Instruction set / Bus architecture, RAM, FLASH, UART and other peripherals, Interrupts, timer, Counters,..
3. Software: Writing C programs, Compiling, Linking and Simulating these programs, bootloader, burning the hex file in Rom of Microcontroller.
This document provides an overview and instructions for an Arduino experimentation kit called ARDX. It discusses that the goal of the kit is fun and to get comfortable using electronic components through simple circuits. It also provides information about the open source nature of the kit's designs and how Oomlout strives to help with any problems encountered. Tables of contents and an overview of the circuits included in the kit are also presented.
The document provides an introduction and overview of connecting Intel Edison devices to the DeviceHub IoT platform. It discusses:
1) Setting up a DeviceHub account and adding a project and device.
2) Installing necessary libraries on the Intel Edison like libmraa to control GPIO pins and connect to WiFi/MQTT.
3) Examples of sending sensor data from the Edison to DeviceHub including string, analog, and digital values and viewing the data in real-time graphs on the DeviceHub dashboard.
DHT11 based remote temparature Monitor. Uses ESP8266 and DHT11 to monitor temperature remotely using a WiFi connection and Thingspeak and NMA application.
The document discusses using Phaser.io, Socket.io, and Arduino together to create an HTML5 game that can be controlled from an Arduino board. It provides code examples for setting up a Phaser game state and loading assets, connecting the game to a Socket.io server, reading input from an Arduino button to trigger actions over the socket, and blinking LEDs on the Arduino in response to game events. The document serves as a tutorial for building an HTML5-Arduino web game using these technologies.
Granby Games logic prop prefabs can be used to create, debug and design simple to complex virtual electronic circuits, console replications and or game play controls. Ready to use multifunctional logic prop prefabs are placed in game and connected together to run other logic circuits, sounds, animations and gameObjects. Attached logic engine script file manages behavioral logic and connections to other props.
For advanced builders, normalized mesh structures and prefabs allow for mesh/material replacement with your favorite model(s). Build, learn and create with Logic Blox.
Core Audio in iOS 6 (CocoaConf Chicago, March 2013)Chris Adamson
Core Audio gets a bunch of neat new tricks in iOS 6, particularly for developers working with Audio Units. New effect units include an improved ability to vary pitch and playback speed, a digital delay unit, and OS X's powerful matrix mixer. There's now a new place to use units too, as the Audio Queue now offers developers a way to "tap" into the data being queued up for playback. To top it all off, a new "multi-route" system allows us to play out of multiple, multi-channel output devices at the same time.
Want to see, and hear, how all this stuff works? This section is the place to find out.
Arduino Workshop Day 1 Slides
Basics of Arduino - Introduction, Basics of Circuits, Signals & Electronics, LED Interfacing, Switch, Buzzer, LCD & Bluetooth Communication.
Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇Johnny Sung
2016.01.22 @ Android Taipei
講解 Bluetooth 的 GATT 的概念,並以 Android 實作
Example code:
Peripheral - BLE CPU Temp
https://github.com/j796160836/Ble-CPUTemp-Android
Central - BLE Temperature Receiver
https://github.com/j796160836/BleTemperatureReceiver-Android
An introduction to Arduino and Ardublock, simple basic examples (blinking LED, traffic light and photoresistor) and useful links to dowload/install Arduino/Ardublock.
HITBSecConf 2016-Create Your Own Bad UsbSeunghun han
This document describes IRON-HID, a project for creating custom USB devices that can exploit system vulnerabilities. It discusses using a modified portable charger called PowerShock to test vulnerabilities in smartphones, POS systems, and PCs. The PowerShock uses a Teensy or Arduino board running IRON-HID firmware to emulate a keyboard or mass storage device. It can automatically enter PINs, log keystrokes, capture screenshots, and execute commands on connected devices. Demo attacks show exploiting backup PIN locks on Android phones and grabbing card data from vulnerable POS systems. Additional ideas include modifying USB keyboards and card readers to secretly run the IRON-HID tests on colleague's devices.
This document provides information about the ARDX Arduino experimentation kit from Oomlout, including:
- The overall goal of the kit is to get comfortable using electronic components through simple circuits and learning why each circuit works.
- Oomlout is a design company focused on producing "delightfully fun open source products."
- All of Oomlout's projects are open source under a Creative Commons license, allowing free downloading, reproduction, modification, and distribution of the materials with credit given to Oomlout.
- The document provides an overview of assembling the kit pieces, installing the software, basic programming and electronics primers, and an index of the circuits included in the
HITBSecConf 2017-Shadow-Box-the Practical and Omnipotent SandboxSeunghun han
The document presents Shadow-Box, a lightweight hypervisor-based kernel protector designed for real world deployment. Shadow-Box uses virtualization technology to separate the machine into a secure host (Ring -1) and normal guest (Ring 0-3). It shares kernel memory between the two worlds to reduce overhead. The host can monitor the guest to detect rootkits and other attacks modifying kernel objects or function pointers. The author discusses lessons learned from deploying Shadow-Box, such as handling mutable kernel code and properly configuring cache types in the extended page table.
BlackHat Asia 2017-Myth and Truth about Hypervisor-Based Kernel ProtectorSeunghun han
This document presents Shadow-box, a lightweight hypervisor-based kernel protector developed by the authors to defend the Linux kernel from security threats in real-world environments. The authors describe Shadow-box's architecture, which uses virtualization technology to separate the system into a secure host and normal guest. Shadow-box shares kernel memory between the two worlds to reduce overhead. It monitors the guest to detect unauthorized kernel object modifications or rootkit activity. The authors discuss lessons learned from deploying Shadow-box, such as dealing with false positives, performance issues, and aspects of real-world systems not addressed in previous research.
This document provides specifications for various Arduino boards and shields. It lists the microcontroller, operating voltage, input/output pins, memory, and other technical specifications. Some boards described include the Arduino UNO, Arduino Nano, Arduino Pro Mini, Arduino Motor Shield, Arduino Ethernet Shield, Arduino GSM Shield, Arduino WiFi Shield 101, and boards for wearables, 3D printing, and internet of things applications.
This PPT gives information about:
1. Introduction to Architecture and features of 8051 Microcontrollers..
2. Specifications (with package detail), Instruction set / Bus architecture, RAM, FLASH, UART and other peripherals, Interrupts, timer, Counters,..
3. Software: Writing C programs, Compiling, Linking and Simulating these programs, bootloader, burning the hex file in Rom of Microcontroller.
This document provides an overview and instructions for an Arduino experimentation kit called ARDX. It discusses that the goal of the kit is fun and to get comfortable using electronic components through simple circuits. It also provides information about the open source nature of the kit's designs and how Oomlout strives to help with any problems encountered. Tables of contents and an overview of the circuits included in the kit are also presented.
The document provides an introduction and overview of connecting Intel Edison devices to the DeviceHub IoT platform. It discusses:
1) Setting up a DeviceHub account and adding a project and device.
2) Installing necessary libraries on the Intel Edison like libmraa to control GPIO pins and connect to WiFi/MQTT.
3) Examples of sending sensor data from the Edison to DeviceHub including string, analog, and digital values and viewing the data in real-time graphs on the DeviceHub dashboard.
DHT11 based remote temparature Monitor. Uses ESP8266 and DHT11 to monitor temperature remotely using a WiFi connection and Thingspeak and NMA application.
The document discusses using Phaser.io, Socket.io, and Arduino together to create an HTML5 game that can be controlled from an Arduino board. It provides code examples for setting up a Phaser game state and loading assets, connecting the game to a Socket.io server, reading input from an Arduino button to trigger actions over the socket, and blinking LEDs on the Arduino in response to game events. The document serves as a tutorial for building an HTML5-Arduino web game using these technologies.
Granby Games logic prop prefabs can be used to create, debug and design simple to complex virtual electronic circuits, console replications and or game play controls. Ready to use multifunctional logic prop prefabs are placed in game and connected together to run other logic circuits, sounds, animations and gameObjects. Attached logic engine script file manages behavioral logic and connections to other props.
For advanced builders, normalized mesh structures and prefabs allow for mesh/material replacement with your favorite model(s). Build, learn and create with Logic Blox.
Core Audio in iOS 6 (CocoaConf Chicago, March 2013)Chris Adamson
Core Audio gets a bunch of neat new tricks in iOS 6, particularly for developers working with Audio Units. New effect units include an improved ability to vary pitch and playback speed, a digital delay unit, and OS X's powerful matrix mixer. There's now a new place to use units too, as the Audio Queue now offers developers a way to "tap" into the data being queued up for playback. To top it all off, a new "multi-route" system allows us to play out of multiple, multi-channel output devices at the same time.
Want to see, and hear, how all this stuff works? This section is the place to find out.
Arduino Workshop Day 1 Slides
Basics of Arduino - Introduction, Basics of Circuits, Signals & Electronics, LED Interfacing, Switch, Buzzer, LCD & Bluetooth Communication.
Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇Johnny Sung
2016.01.22 @ Android Taipei
講解 Bluetooth 的 GATT 的概念,並以 Android 實作
Example code:
Peripheral - BLE CPU Temp
https://github.com/j796160836/Ble-CPUTemp-Android
Central - BLE Temperature Receiver
https://github.com/j796160836/BleTemperatureReceiver-Android
An introduction to Arduino and Ardublock, simple basic examples (blinking LED, traffic light and photoresistor) and useful links to dowload/install Arduino/Ardublock.
The document discusses the role of testers in Agile teams. It argues that while methodologies like Scrum and XP do not explicitly mention testers, they can still be valuable members of cross-functional teams. Testers bring a different perspective than programmers as they behave more like users. Their domain knowledge and ability to ask questions can help improve quality. Ultimately, the document says that while testers are not mentioned in Agile, they are still important team members, and that everyone on the team engages in a form of testing.
Stickies on the wall will not help you if you are building crappy softwareWiktor Żołnowski
This document discusses how agile practices like stickies on a wall will not help if an organization has underlying issues like building poor quality software, lack of trust among employees, or basic communication problems. It emphasizes that good organizations choose practices that fit their needs and that true agility is about dividing large products into independent subproducts that can be developed and managed separately. Scaling agile is about decomposition, not just scaling individual methods. Having an agile mindset and understanding what agile means is more important than any single practice.
The document discusses reversing the traditional tests pyramid for legacy code. It proposes starting with end-to-end tests to give courage for refactoring code into testable units. This establishes a reversed tests pyramid to gradually introduce a new architecture. The goal is to keep technical debt low by refactoring and removing duplicated tests to improve software quality and the ability to change the system. Beware of refactoring just for its own sake and resist rewriting from scratch.
The document discusses reversing the traditional tests pyramid when dealing with legacy code. It notes that with legacy code, there may be no true units to unit test. Instead, it advocates starting with end-to-end tests to build confidence to refactor the code into units and add integration and unit tests. However, it warns that end-to-end tests are long to maintain. The goal is to slowly reverse the tests pyramid by refactoring code into units and adding tests at each level to manage technical debt over time. Paying down technical debt is important to maintain the ability to change software.
Agile, Scrum, Lean Startup, Testy A/B, Zwinny Marketing, Lean Canvas, Agile Coaching, Test Driven Development, User Stories, BDD, SBE, ATDD, TDD po wrzucania do jednego kotła i odpowiednim zamieszaniu otrzymujemy…(?) Przepis na sukces… Lub wiele mitów i nieporozumień!
Sukces lub totalną porażkę naszego produktu…
Współczesne metody wytwarzania oprogramowania, nowoczesne technologie i narzędzia, masowy klient/odbiorca oraz dobrze wykwalifikowani, wszechstronni developerzy dają nam możliwości, o których nie mogliśmy marzyć jeszcze kilka lat temu. Niemniej jednak nadal popełniamy wiele błedów i nasze projekt raczej stosunkowo niezbyt często kończą sie spektakularnym sukcesem.
Być może jednym z powodów tej niedoskonałości w procesach wytwarzania oprogramowania jest niekoniecznie dobre zrozumienie wspomnianych wyżej metod i narzędzi. A jeśli o zrozumienie chodzi to myślę, że najelpiej zacząć od początku naszego procesu czyli od wymagań. I właśnie o tym jest ta prezentacja… Jeśli wydaje Ci się, że wiesz już wszystko na temat BDD i wymagań w Agile to… Pewnie jesteś w błędzie… Nie, nie twierdzę, że na tym wykładzie dowiesz się wszystkiego w tym temacie… Być może jednak dowiesz się o rzeczach, które nie są oczywiste i które realnie pomoga Ci w pracy.
Jeśli uważasz, że User Stories, BDD, ATDD i SBE nie mają sensu to… Zgadzam sie z Tobą i z chęcią powiem Ci dlaczego w Twoim kontekście im tego sensu brakuje (wspomożemy się w tym celu Cynefin Framework).
Mowa będzie o mitach związanych z User Stories, Specification By Example, Behavior Driven Development, różnicy pomiędzy wymaganiami a specyfikacją, Cynefin Framework oraz Continuous Delivery.
This document discusses testing web applications in a distributed environment using Selenium Grid and Docker. It describes the challenges of testing on virtual machines and how containerization with Docker addresses those challenges by running tests within Docker containers managed by Docker Compose. Examples are provided of pulling pre-built Selenium images from Docker Hub and running a Selenium Grid configuration with a hub and node containers defined in a docker-compose.yml file. Links are also included for additional Selenium Grid and Docker resources.
Scrum and Kanban are not enough - Agile Slovenia 2013Wiktor Żołnowski
Scrum and Kanban are not enough to make an organization agile. Good organizations choose practices that fit their needs, like valuing individuals, working software, customer collaboration and adaptability. While common project methods focus on fixed plans, agile emphasizes adapting to changes. Scaling agile means dividing work into independent sub-products developed by autonomous teams with communication. Stickers on a wall won't help without addressing cultural and technical foundations for agility.
The document discusses four methods for predicting the number of defects remaining in software:
1. Tracking defects found during development, system testing, and deployment.
2. Modeling the number of defects based on factors like complexity, injection rate, and size.
3. Using reliability growth models like the Weibull distribution to plot defects over time/testing effort.
4. Dividing the software into cells to track defects found in each cell.
The document discusses using Internet of Things (IoT) technology for smart agriculture. It provides an overview of IoT and how devices can communicate over a network without human interaction. It then discusses how microcontrollers like Arduino can be used to interface with sensors and actuators to monitor and control the physical environment for applications like smart farming. The document provides examples of using sensors to collect environmental data and controlling devices like motors and lights through a microcontroller.
iBeacons - the new low-powered way of location awarenessStefano Zanetti
This document provides an overview of iBeacons and Bluetooth Low Energy technology. It defines what an iBeacon is, which is a Bluetooth LE radio that broadcasts identifying information that can be detected by mobile devices. It describes how iBeacons could be used in various scenarios like providing location-based experiences in museums. It also covers the core concepts of Bluetooth LE, the iBeacon format, and how to detect and monitor iBeacons using the CoreLocation and CoreBluetooth frameworks in iOS. Code examples are provided for detecting iBeacons in the foreground and background of an iOS app.
Protocol T50: Five months later... So what?Nelson Brito
T50 (an Experimental Mixed Packet Injector) new features added to version 5.3 (Chaos Maker).
Check the original demonstration videos:
- https://www.youtube.com/playlist?list=PLda9TmFadx_m2qdd-euUf4zhQ-5juTVEx
For further source codes, please, refer to:
- http://t50.sourceforge.net/
2600 Thailand meeting.
June 5, 2019
The purpose is just to learn BLE protocol and security.
- Talk about how BLE device connect with each other.
- Talk about BLE security.
- Talk about BLE GATT.
- Talk about how to interface with BLE using API.
- Talk about Mi Band 3 compromise.
SoftBank Robotics NAO and Pepper robots, UBTech Alpha 1S and Alpha 2 robots, and ROBOTIS OP2 and THORMANG3 robots were analyzed for vulnerabilities. Many vulnerabilities were found including authentication bypass issues, lack of encryption for transmitted data, and ability to disable safety features. These issues could allow an attacker to hijack the robot's functions or sensors, turn friendly robots into potential dangers, or use them for espionage purposes. Physical access to robots also poses risks as connectivity ports and removable storage were found to be insecure in some cases.
This document discusses module 1 of a course on modelling and logic simulation. Module 1 covers topics like functional and structural modelling at logic and register levels, types of simulation, delay models, and hazard detection. It also lists recommended textbooks and laboratory assignments involving simulating signature analyzers, implementing compression techniques, and designing event-driven simulation models.
The document discusses design for test (DFT) techniques. It explains that DFT aims to improve the testability of chip designs by adding mechanisms to control and observe internal nodes for manufacturing testing. This allows testing of each block or component on the chip to identify defective parts. Specifically, it discusses using scan chains to test combinational logic, and techniques like MBIST and boundary scan for testing memories and I/O, respectively. The goal of DFT is to effectively test designs at the component level to improve quality and yield.
So, you want to build a hardware product? Every so often, a device comes along that changes the way we live our daily lives and things are never the same again. With today's digital technology, such devices may come more frequently than in the past - personal gadgets you cannot live without. What’s inside? What makes it tick? How do you find out? In this sharing session, Mark will provide an introduction to hardware hacking and why it matters, going through some quick tips on getting cosy with hardware to find out what makes it tick. Mark (MK FX) is a founder of Bazinga! Pte Ltd, a technology development and prototyping company that builds gadgets from ideas. An engineer since birth, because if you can dream it, think it - you can build it.
The document proposes a usability lab for a research group. It includes hardware such as an eye tracker, desktops, laptops, cameras, and software for testing and data backup. A floor plan shows a testing room with a custom desk and window, and an observation room with a plasma monitor, smart board, and soundproofing. The proposal aims to provide a flexible lab that exceeds expectations and gives the research team tools to conduct user-centered design.
The document provides an overview of using OpenDaylight (ODL) to implement software defined networking (SDN) and service function chaining (SFC) to solve networking problems. It discusses two approaches to bypassing deep packet inspection (DPI) using ODL: 1) Configuring flows on a switch via the ODL RESTCONF API and 2) Using ODL's service function chaining (SFC) application. Both approaches are demonstrated to reduce latency by avoiding sending traffic through a second DPI appliance.
Develop a portal to manage your IoT Hub solutionMarco Parenzan
Azure IoT Hub allows you to transform your embedded devices into the IoT devices. Azure with portal and CLI allows you to manage the lifetime of your devices, but only if you are an expert and experienced in Azure. How can your customer, for which you have developed the solution, manage the solution independently?
In this session, we will start from the principles of the IoT Hub about the configuration and management of device lifetime. We will look into the APIs and tools for managing IoT Hub. We'll talk a little bit about telemetry and its meaning. Then we will start building a portal in ASP.NET to manage everything. And in the end we will talk about multitenancy and what it means to sell (from the technical side) IoT solutions to several customers.
DeviceTester for NTCIP is software that allows users to automatically test devices that conform to NTCIP standards through an easy-to-use interface and powerful scripting environment. It prepares acceptance tests for contract requirements and production line testing. DeviceTester supports multiple devices and standards, includes over a dozen standard scripting functions, and exports data in common file formats.
Using Smalltalk for controlling robotics systemsSerge Stinckwich
This document discusses using Smalltalk for controlling robotics systems. It provides an introduction to developing embedded systems in Smalltalk and highlights some past projects that have used Smalltalk for robotics and embedded applications. It outlines advantages of Smalltalk such as its simple syntax, portability, uniformity, and dynamism. Examples are given of generating code from Smalltalk for other robotics platforms and simulating robotics applications in Smalltalk.
Managing Large-scale Networks with Triggerjathanism
Trigger is a network automation toolkit that allows users to programmatically configure, monitor, and manage network devices. Written in Python, it uses SSH, Telnet, and Junoscript to remotely execute commands on network devices from all major vendors. Trigger handles tasks like command execution, change management, and metadata storage for network devices in a centralized, scalable, and reliable way. It aims to simplify network automation through an easy to use API and extensibility features like custom command classes.
Design and development of automated tests for the IoTAxel Rennoch
The document discusses the development of automated tests for IoT. It outlines challenges in IoT testing and standards from Eclipse Foundation and ETSI. It proposes using TTCN-3 as a test description language to formally define test scenarios and develop test suites for protocols like CoAP and MQTT. The document presents a methodology for performance and security testing of IoT systems and provides information on related open source and standards resources.
The document summarizes a technical workshop on wireless sensor networks. It provides an overview of the hardware and software used, including the Tmote Sky and EE sensor nodes, the iNode embedded PCs, and the TinyOS software platform. It also describes the Job scheduling system and iPlatform that are used to define and run experiments on the testbed.
This document provides an overview of Sigfox and how to communicate using Sigfox networks. Some key points:
- Sigfox is a network operator that provides connectivity for low-bandwidth IoT devices using its proprietary radio protocol.
- The Sigfox protocol is designed for energy efficiency to enable battery-powered devices to send small payloads up to 140 times per day.
- Developers can get started easily by sending simple AT commands to Sigfox modules to transmit 12-byte payloads over the global Sigfox network.
- The document covers Sigfox concepts like ultra narrowband communication, security, and how developers can receive uplink data and send downlink messages to devices through the Sigfox backend and callbacks
The fascinating world of Internet of Things is so huge that it cannot be fully described in one session. But you can start your adventure. Presentation of IoT Hub, reference architecture, fast review of a few ready solutions and interaction with MXChip IoT DevKit.
[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...Hackito Ergo Sum
The document discusses hacking Apple accessories to exploit iOS devices. It describes reversing the firmware of an Apple alarm clock to add functionality. Hardware is added to enable USB and allow communication with a Raspberry Pi board. This turns the dock into a hardware man-in-the-middle that can silently jailbreak a connected iOS device and extract personal data while appearing to normally charge the device. The presentation demonstrates automating the jailbreak process used by evasi0n to silently root the device and extract information when it is docked overnight.
This document discusses Geb, a browser automation framework for writing end-to-end tests. It presents Geb's features like page object modeling using Groovy and jQuery-style content selection. The document also discusses problems with existing test architectures like tests being slow, unstable, and hard to maintain. It then proposes an alternative test architecture using page objects, controllers that gather page actions, and views that run test scenarios. Finally, it demonstrates implementing this architecture in Java without Geb by using page objects, method chaining for fluent interfaces, and default interface methods for controllers. Key benefits highlighted are improved readability, maintainability, and onboarding through a clearer test structure.
Kontrakt testy - KraQA 42 - Slawomir Radzyminskikraqa
The document discusses different approaches to testing services including end-to-end, isolation, and contract tests. It focuses on contract tests, explaining that they allow integration tests against mocks while ensuring the mocks accurately represent external dependencies. It provides details on consumer-driven and provider-driven contract tests, highlighting benefits of the consumer-driven approach. The document outlines the six key steps to implement contract testing in a continuous integration/continuous delivery pipeline using a pact broker to manage contracts.
The document discusses principles of continuous delivery including building quality in from the start, automating as much as possible while keeping everything in version control, testing in a production-like environment, and maintaining a simple and consistent delivery process. It emphasizes the importance of frequent releases to catch issues early, notes that testing does not ensure 100% confidence, and advocates for continuous improvement through a plan-do-study-act approach with each release representing the next stage. Continuous delivery helps reduce errors, lower stress, and gather valuable user feedback.
This document discusses the importance of treating infrastructure and pipelines as code for software development teams. It notes that while teams often focus on the application code being developed, they should also focus on how the code is built, released, and deployed. Describing these processes as code enables teams to test and assure the quality of their delivery pipelines. The document then outlines examples where infrastructure and pipelines are treated as code, such as with Jenkins Pipelines, configuration as code, and tools like Travis, Gitlab, and others. It invites readers to review examples of building pipelines as code using Jenkins and other related tools.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
2. “
The best way to predict the future
is to invent it.
Alan Kay, Xerox PARC, 1971
3. What is IoT?
The Internet of Things (IoT) is the
network of physical objects - devices,
vehicles, buildings and other items
embedded with electronics, software,
sensors, and network connectivity - that
enables these objects to collect and
exchange data.
https://en.wikipedia.org/wiki/Internet_of_Things
8. Testing Scope &
Challenges
Hardware
○ Drivers
○ Switches
○ Sensors
○ Luminaries
○ Motors
○ Light sources / bulbs
○ Multi-protocol
gateways
Firmware
○ Bluetooth Low
Energy v4.0
protocol support
○ Silvair Smart Mesh
protocol support
○ Provisioning
○ Discovery
○ Groups and Scenes
○ OTAU
○ High Security
Software
○ Network setup
○ On / Off, dimming, color change
○ Associations
○ Factory Reset
○ OTAU
○ Cloud
9. “In the beginning there was
only Chaos”
● Event-driven development (for CES, BT World, etc.)
● Chaotic environment with constantly changing
priorities (on a daily basis)
● Lack of time to test SF/HW/FW on all test levels
● Ignoring product/project risk analysis
● No TDD/FDD/XP, lack of Unit tests
● PoC….. PoC everywhere
● No documentation
● Not enough testers!
10.
11. Main focus
● Building and maintaining test environment
● Test automation
● Helping other teams with their testing activities
12. Let’s imagine a simple test
scenario...
Story: The user turns on a light bulb from an app
and turns it off from a wireless switch
Step 1: Launch mobile app and create a home
network with 1x wireless switch and 2x light
bulbs
Step 2: Turn on the bulbs from an app
Step 3: Turn off the bulbs from a switch
15. ○ How to flash a BLE module with the firmware
which is inside a bulb or a switch?
○ How to control hardware buttons on a switch on
demand?
○ How to verify whenever a bulb has been turned on
or not?
○ How to verify if desired color, brightness, color
temperature or saturation level has been reached?
Challenges:
16. ○ How to combine the results from multiple
sources (mobile app, firmware, hardware, cloud)
and be sure that the test cases is passed and
functionality under test is working as expected?
○ How to to know which component has failed
and when?
○ How to detect potential problems like
unpleasant LED flickering while dimming?
○ How to reset everything to default state at the
end of the test scenario?
Challenges:
19. Let’s make it
step by
step !
● Following common methodology
● Facilitating external processes
● Automation tools freedom
● Considered architecture
● Brainstorming sessions
● Team autonomy
20. “...Possibilities kills creativity...”
Requirements of IoT E2E Test
Environment
● Dirt-cheap!
● Simplicity - built with a KISS
("Keep it simple, stupid!")
methodology, extremely
low entry point for system
newcomers
● Modularity - the system
should handle flawlessly a
multiple of different DUT’s
(Devices Under Test)
21. Requirements of IoT E2E Test
Environment
● Scalability - a multiple
instances of DUT modules
and Test Arbiters should be
able to operate
simultaneously without any
hassle
● Reliability and stability - the
testing environment should
be able to operate with a
MTBF of 7 days
“...Possibilities kills creativity...”
31. Trigger
signal
Set proper
parameters /
disable automatic
Send
output
How it really looks like:
Take a snapshot,
image
preprocessing
(filtering)
Kill the
processIs camera
buffer
released?
Image
processing (blob
detection, check
elements, etc.)
Thresholding
Create
binary ROI
matrix
Trigger
signal
Gather value
matrix
Send
output
How we would like it:
Vision System
32. v4l2-ctl -c exposure_auto=1 | v4l2-ctl -c exposure_auto_priority=0 | v4l2-ctl
-c white_balance_temperature_auto=0 | v4l2-ctl -c absolute_exposure=171
Set proper parameters
(always manually!)
*Collection of libraries which adds a thin abstraction layer on top of video4linux2 devices. The purpose is to make it easy for
application writers to support a wide variety of devices without having to write seperate code for different devices in the same class.
brightness (int) : min=0 max=255 step=1 default=128 value=128
contrast (int) : min=0 max=255 step=1 default=32 value=32
saturation (int) : min=0 max=255 step=1 default=32 value=32
white_balance_temperature_auto(bool) : default=1 value=0
gain (int) : min=0 max=255 step=1 default=0 value=0
power_line_frequency (menu) : min=0 max=2 default=2 value=2
white_balance_temperature (int) : min=0 max=10000 default=4000 value=4000
sharpness (int) : min=0 max=255 step=1 default=24 value=24
backlight_compensation (int) : min=0 max=1 step=1 default=1 value=1
exposure_auto (menu) : min=0 max=3 default=3 value=1
exposure_absolute (int) : min=1 max=10000 default=166 value=171
exposure_auto_priority (bool) : default=0 value=0
33. ...and this is why
[109, 5, 2,
6, 2, 3,
3, 3, 104]
Good Exposure
(value 171)
[173, 58, 33,
54, 47, 51,
38, 48, 169]
Overexposure
(value 800)
36. Purpose of the extended
blob detection
# Filter by Area.
params.filterByArea = True
params.minArea = 1500
# Filter by Circularity
# (4 * PI * Area) / (Perimeter^2)
params.filterByCircularity = True
params.minCircularity = 0.6
# Filter by Inertia
# It measures how elongated a shape is
params.filterByInertia = True
params.minInertiaRatio = 0.8
# Filter by Convexity
# Area of the Blob / Area of its
# convex hull
params.filterByConvexity = True
params.minConvexity = 0.87
37. Purpose of the extended
blob detection - example
BAD VERY BAD OK
42. Number of commits 212
Number of code lines added 69293
Number of code lines deleted 46028
Number of Github
contributors
3
Number of Jenkins jobs 18
Number of builds 777
QA CI Environment
QA CI
Environment
Test Arbiter
JIRA
TEST
RESULTS
TEST
RESULTS
DUT DUT DUT
47. ● Long time SSH connection (fast switch state
change)
● PWM high frequency (UART testing)
● Electrostatic Discharge
● Busy camera buffer
● Appium server / flashing / setting devices test
steps timeouts
● Different screen sizes / language versions /
platforms
but where is a problem...
Just a few problems met...
48. ● Long time SSH connection
● PWM high frequency (UART
testing)
● Electrostatic Discharge
● Busy camera buffer
● Appium server / flashing /
setting devices test steps
timeouts
● Different screen sizes /
language versions /
platforms
...there is a solution !
● Cert
Authorization
● I/O stream log
deletion
● Humidifier
● Monitoring camera
process and usage
● Moved as
set-up activity
● Gather necessary
informations and
determine while class
initiation
50. Performance Mobile Phone
Number of ADV packets received from a Bulb
within 15 minutes The percentage of
packets received
[%]Clean RF environment
Noisy RF environment
(1200 packets per
second)
VERY GOOD Galaxy Tab 7.0 (T230) 3921 2312 59
GOOD
LG G2 3395 1594 47
Nexus 6 5294 1948 37
Samsung Galaxy S6 5818 2130 37
AVERAGE
Samsung Galaxy Note 4 5070 1607 32
Nexus 9 5377 1541 29
Sony Xperia Z2 5862 1604 27
Samsung Galaxy S5 5784 1494 26
Nexus 5 5964 1518 25
BAD
Samsung Galaxy S5 mini 6397 1197 19
Samsung Galaxy Note 10.1 5268 751 14
Samsung Galaxy S3 6018 641 11
VERY BAD
Xiaomi Mi3 3237 278 9
LG G2 mini 4081 328 8
Samsung Galaxy A3 4050 319 8
Samsung Galaxy S4 mini 4037 329 8
HTC One M8 3868 279 7
Sony Xperia T3 4040 283 7
51. Takeaway...
● Does Scrum really work? Yes, it does!
● Think big, but act small
● Iterate and refine
● Unleash team creativity
● Focus on interoperability
● Modularity is the key
● Incorporate RBT - focus on risky functionalities,
e.g. OTAU
● Physics is ruthless
● IoT is also hardware
● Security!
Want to know more about IoT protocols? Just grab
our free ebook at: https://silvair.com/media
52. Thanks!
Any questions?
You can find us at:
Dawid Pacia:
◎ e-mail: paciadawid@gmail.com
◎ / paciadawid
Tomasz Janiszewski:
◎ e-mail: janiszewski.tomasz@gmail.com
◎ / tjaniszewski
https://silvair.com/careers