I want to run OpenFlow on a switch.
I have root privileges on a switch that does not support OpenFlow yet.
How can I make this switch support OpenFlow and then control traffic flow on it from outside the box?
Basically I want to start experimenting with OpenFlow. Where do I start from?
Unfortunately, there is no way for users to enable OpenFlow on switches that do not support the functionality.
The easiest way to start experimenting with OpenFlow is to download the Floodlight controller VM image. Floodlight is an open source OpenFlow controller written in Java. The virtual machine available on the download page is an Ubuntu based image. When you start up the image the Floodlight controller will already be running. The image also includes Mininet in it. Mininet allows the creation of virtual networks inside a single instance of Linux. this will allow you to create any arbitrary network topology of OpenFlow-enabled software switches and connect it to the Floodlight controller.
Tools, Tutorials and Online course to get started working in Software Defined Networking Field:
Network Emulators and Simulators
1) Mininet (Emulator; Learning curve: Easy; Open source)
2) Estinet (Simulator & Emulator; Learning curve: Moderate; Proprietary)
3) ns-3 (Simulator; Learning curve: Difficult; Open source)
South bound API'S
1) NOX (Programming language: C; Learning curve: Moderate; Open flow 1.0; Open source)
2) POX (Programming Language: Python; Learning Curve: Easy - Moderate; Open flow 1.0; Open source)
3) Flood light (Programming Language: Java; Learning curve: Difficult; Open flow 1.0; Kind of Open source)
4) Ryu (Programming Language: Python; Learning curve: Moderate; Open flow 1.0/1.1/1.3;Open source)
North bound API's
1) Pyretic
2) Frenetic
3) Route Flow
Tutorials
1) Open flow
2) Mininet walk through
3) POX Tutorial
Online Courses
1) Software Defined Networking (Awesome course)
2) Many company does consulting workshops in this field as well
Misc Relevant Projects
For some hardware switches, there may also be firmware upgrades available that enable OpenFlow. You may want to check in with your switch vendor.
Also I want to add
!. OpenDayLight Controller
Join the mailing list:
Mininet-Discussion
Related
I am starting to look into home environment and appliance control via the Internet.
I have an infotainment background that includes audio transport in distributed infotainment systems via MOST and Ethernet. For the latter I have experience with IEEE1722 (IEEE 1722 - LAYER 2 TRANSPORT PROTOCOL WORKING GROUP FOR TIME-SENSITVE STREAMS).
As I looked into IoT and the home domain (I use that term loosely to include appliances, security, environment, landscape maintenance) I had hoped to find a standard command and control protocol, for example something analogous to IEEE1722.1, but applicable to command and control in the home domain.
I did some searching and I see there are a number of packaged solutions (i.e. products and software recommendations) available. There are also a number of kits out there (e.g. RPI3 and Beaglebone Black, TINI) that would be useful platforms for a type of home controller however I found no mention of a standard protocol for command and control of the home apps. We have the lower layer protocols like IP, TCP, UDP, SSL, HTTP ... etc but as far as I could tell no standard application layer protocol.
Does such a protocol standard (either formal or de-facto) exist? If so could you please provide a pointer to it?
BTW there was a hit on my search in Stackoverflow:
"Is there any standard for Smart Home?" But from what I could tell that was someone asking for the answer to questions posed by their classroom lecturer. It had -1 votes. My questions is not that.
Thanks in advance.
Jim
I did further searching and found https://developer.apple.com/homekit/ and http://www.knx.org/media/docs/Flyers/KNX-Basics/KNX-Basics_en.pdf and https://www.electronichouse.com/smart-home/home-automation-protocols-what-technology-is-right-for-you/#comments Thanks
I am starting to develop for Android Things and I was wondering if it was possible to implement OpenThread Border Router on a Raspberry PI 3B with Android Things flashed into it.
https://github.com/openthread/openthread
https://github.com/openthread/borderrouter
"A Border Router connects a Thread network to networks at different layers, such as WiFi or Ethernet. OpenThread Border Router provides end-to-end IP via routing between Thread devices and other external IP networks, as well as external Thread Commissioning."
Update: While Border Routing functionality isn't available on Android Things, the Android team released a new API that adds first-class support for Thread radios. This makes it possible to develop Android applications that implement border routing functionality equivalent to borderrouter. See the blog for more details. Note that I'm not aware of any implementations at this time as I no longer work on the project.
---------- Original reply ----------
I work on the OpenThread team. Currently, the borderrouter project targets Linux platforms and has been demonstrated on a Raspberry Pi 3 running Raspbian Jesse Lite. Android Things is not supported at this time. We plan on supporting more platforms but I have no updates of when new ones will be added. Please file a feature request issue on Github.
I wrote a C++ program in Visual Studio for anomaly detection using OpenCV. I'm now able to capture images with Basler Ace camera and process the captured image in visual studio. Camera is connected to computer directly with USB 3.0.
My next step is to synchronize image capturing and processing with robot movement. I have IRB1440 ABB robot.
What are the possible solutions for this? Should I buy expensive Siemens PLCs ? Can the solution be found in any other way? What type of communication should I use?
This is a very specific question on a commercial product. I suggest you contact ABBs support and read the robot controllers manual. There you will find information on how to interface it in a safe manner.
It is not the robot you want to talk to, it is its controller!
According to the info I found on IRB 1440 (seem to be a sub-model of IRB1400) the controller is a S4Cplus.
The way we usually do it is a Windows PC based image processing system that is hooked up to a PLC (Siemens, Mitsubishi,...) which forwards our coordinates, angles and whatnot to the robot controller.
Of course the PLC can be omitted if your PC is the "boss" of the entire system.
S4Cplus Product Specifications
This controller comes with various interfacing options including RS232, RS422, Ethernet as well as a whole bunch of industry standards.
Having a separate PLC is not necessary as the controller may serve as a PLC itself, although you might have to upgrade the controller using so called I/O nodes.
But as I said, refer to the manuals and ABB support.
Obviously any non-realtime solution like a Windows PC is not an option for any safety features.
I'm trying to get some initial info on my very first IoT project. I want to build a * tiny * wifi connected relay to control, let's say, lights. I'm a newbie in the hardware and electronics field though, but I'm a pro developer, so programming is not a problem.
Now, I've looked at different options and I can't seem to find really small components for the task. It might be I overlooked something, so please help me with available options.
Look at the ESP8266 devices. They have WiFi on chip and can be programmed using the Arduino environment. You basically write code in C++ to do whatever you need.
Here is an Amazon search for some examples:
https://www.amazon.com/s?k=esp8266
I recently did a project using a Linknode R4 (similar to above but with 4 relays) and programmed it as a web server with REST API. Then I built a front end with ASP.NET Core to that talks to the REST API for the devices on my network. The Arduino sketch for the web server is posted on Github at https://github.com/SteveInCO/LinknodeR4. I would assume it would work with little modification on the device I linked above.
The default program for the R4 allows controlling it via their website or iOS/Android apps, though I could never get it to work out of the box. Their model uses a polling method so the relays continually ask the server what to do next.
Windows IoT doesn't run on these small devices yet, but no reason you can't front end the Arduino API with a UWP app running under Windows IoT on a Raspberry Pi instead of the web app like I did. I think the eventual plan is for ASP.NET Core to be able to run on an ARM based system like a Raspberry Pi, but last I checked it wasn't quite there yet.
I have two monitors BENq rl2450h and Soniq
I want to be able to change the source of the input for these two monitors..
Would a piece of software be able to change this. Are there open source alternatives to do this.. I'm happy to code if there is no alternative.
Use Case
2 different cables connected to 1 Monitor eg. 1 could be hdmi the other a VGA source.
I want to be able to let the software decide which input source to be used on a particular monitor...
Limitations
I cannot use a switch from D-link (or other companies) because its not a publicly accessible PC ... It needs to be done using a software approach .. Additionally, Change Monitor Input Source suggests a C# method but I would prefer something that is cross platform so can be coded for multiple OS's .. say python for eg.