This blog post is about our current EV3 robot we're planning to use in the 2023/2024 FLL competition. Some features: 2 large motors for steering. 2 medium motors for attachments. 2 colour sensors for picking up the white and black lines, also used for line squaring. 1 gyro sensor. To enable attachments to be changed as quickly as possible we're using gravity to keep the gears connected, i.e. you don't need to fasten anything to the robot. Every attachment has 2x 12 tooth double bevel gear (part 32270) which comes in contact with the 2x 20 tooth double bevel gears (part 32269) on the robot. The medium motors are horizontally aligned on the robots, but we use 12 tooth double bevel gears to convert that to vertical alignments. These in turn are connected to 20 tooth double bevel gears, and the attachments in turn connect to these 20 tooth double bevel gears with their 12 tooth double bevel gears. The complete robot is modelled in Bricklink Studio 2 . You can download the rob
To add another wifi access point to my existing network I've used an old Linksys WRT54GL. I've installed OpenWRT 10.03.1 because later versions doesn't fit on the 4MB flash.
First this router should only act as an access point on the existing network, i.e. we don't need any NAT or a new network subnet with it's own DHCP server set up. We'll connect this router via an ethernet cable to the existing network. Because we don't need a WAN port we can first set up the switch that all ports all equal. Then secondly we can simply bridge our ethernet ports to the LAN interface. Your etc/config/network should have these sections:
config 'switch' 'eth0'
option 'enable' '1'
config 'switch_vlan' 'eth0_0'
option 'device' 'eth0'
option 'vlan' '0'
option 'ports' '0 1 2 3 4 5'
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'dhcp'
After this restart the router and connect it to your network. The router should get an IP address on the local network (check your main router for the details). You can now SSH into the Linksys using this IP address.
Now set up the wifi interface and you should be good to go. All clients connected to this access point (either by wifi or ethernet port) will now simply be bridged to the main router, so the main router's DHCP server should give your clients an IP address.
The second issue was power. I'm placing this access point in the my roof with no power plugs nearby. The best solution for me was to use passive power over ethernet (POE). Passive means we'll simply take 4 of the 8 wires in the ethernet cable for power and the remaining 4 for data, implying data will be limited to 100Mbps but that's not a problem since my network is anyway only running on 100Mbps.
The best solution is to use POE injects and splitters. Search for "Power Over Ethernet Passive POE Injector And Splitter" on e-bay: you can get a pair for under 2 USD. The injector has a RJ45 plug which should go into the router and a DC jack where you can plug in the power supply. Both are combined to an RJ45 socket - this is where the network cable should go into. On the other end you use the splitter on the incoming network cable to give you an RJ45 plug for the data and a DC socket for the power.
In case of the Linksys WRT54GL you can simply use the power as-is on the other end if the length of the network cable is not too long. In my case a length of 10m works fine. But note that the ethernet cable has a resistance which will cause a voltage drop, meaning the 12V at the input might be 8V by the time it reaches the router (under load). A better solution is to use a higher voltage at the input (let's say 24V) and use a DC-DC converter at the other side to convert it to the voltage you need. With a higher voltage there will be a lower current, implying your losses will be less. I'm planning to use this approach for getting power to a Raspberry Pi using POE - but that's for another day. For now the Linksys is stable enough to work on a lower voltage as 12V.
First this router should only act as an access point on the existing network, i.e. we don't need any NAT or a new network subnet with it's own DHCP server set up. We'll connect this router via an ethernet cable to the existing network. Because we don't need a WAN port we can first set up the switch that all ports all equal. Then secondly we can simply bridge our ethernet ports to the LAN interface. Your etc/config/network should have these sections:
config 'switch' 'eth0'
option 'enable' '1'
config 'switch_vlan' 'eth0_0'
option 'device' 'eth0'
option 'vlan' '0'
option 'ports' '0 1 2 3 4 5'
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'dhcp'
Now set up the wifi interface and you should be good to go. All clients connected to this access point (either by wifi or ethernet port) will now simply be bridged to the main router, so the main router's DHCP server should give your clients an IP address.
The second issue was power. I'm placing this access point in the my roof with no power plugs nearby. The best solution for me was to use passive power over ethernet (POE). Passive means we'll simply take 4 of the 8 wires in the ethernet cable for power and the remaining 4 for data, implying data will be limited to 100Mbps but that's not a problem since my network is anyway only running on 100Mbps.
The best solution is to use POE injects and splitters. Search for "Power Over Ethernet Passive POE Injector And Splitter" on e-bay: you can get a pair for under 2 USD. The injector has a RJ45 plug which should go into the router and a DC jack where you can plug in the power supply. Both are combined to an RJ45 socket - this is where the network cable should go into. On the other end you use the splitter on the incoming network cable to give you an RJ45 plug for the data and a DC socket for the power.
In case of the Linksys WRT54GL you can simply use the power as-is on the other end if the length of the network cable is not too long. In my case a length of 10m works fine. But note that the ethernet cable has a resistance which will cause a voltage drop, meaning the 12V at the input might be 8V by the time it reaches the router (under load). A better solution is to use a higher voltage at the input (let's say 24V) and use a DC-DC converter at the other side to convert it to the voltage you need. With a higher voltage there will be a lower current, implying your losses will be less. I'm planning to use this approach for getting power to a Raspberry Pi using POE - but that's for another day. For now the Linksys is stable enough to work on a lower voltage as 12V.
Comments