Tumgik
#bibnumber
Photo
Tumblr media
It’ not official until we get the bib numbers, right? The full list of bib numbers is out. Half Ironman Atlantic City is only 31 days away. #im703ac #im703ac2019 #cantwait #halfironman #anythingispossible #triathlon #bibnumber https://www.instagram.com/p/B1NLVimhE8H/?igshid=175twbulgccqt
2 notes · View notes
nathandyasfitness · 3 years
Photo
Tumblr media
On Sunday I competed in the Canterbury Festive 5k, which is the first event I've taken part in outside of Thanet!🏃🏽‍♂️🎅🏽 Great run around the city and another medal to add to my growing collection... 🏅😁 Well done to @naginarf for also taking part with me on the day, and @sportingeventsuk for organising it! ☺️👏🏼 #sundayfunday #sundayrunday #running #runnersofinstagram #runningismytherapy #5km #medaladdict #medalcollector #santahat #canterburyfestive5k #canterbury #runningcommunity #sportingeventsuk #bibnumber #fitness #personaltrainer #NDPT #nathandyaspt (at Canterbury, Kent) https://www.instagram.com/p/CXgQOMcMYh6/?utm_medium=tumblr
0 notes
Photo
Tumblr media
What never has to missed is to participate at the @gpbern (exept when I‘m working on this day) It‘s always a special and great feeling to race in your hometown. #gpbern #race #bibnumber #switzerland #bern #runner #laufen #suisse #laufenmachtglücklich #worlderunners #marathontraining #frühstück #vegan #veganathlete #womensrunningcommunity https://www.instagram.com/p/B6sKmJghuCz/?igshid=27uie0bzyzi0
0 notes
wmurphy69 · 7 years
Photo
Tumblr media
Here we go #broadstreetrun #2017broadstreetrun #BIBnumber (at Pennsylvania Convention Center - Philadelphia, PA (Philly))
1 note · View note
zacthebigmac · 6 years
Photo
Tumblr media
Zoom zoom zoom. #running #runningman #run #runner #race #raceday #bib #bibnumber #vesuvius #vesuvio #vesuvio🌋 #5k #blessed #adventure #travel #sailor #navy #usnavy (at Vesuvio) https://www.instagram.com/p/Bo5_Hs6gd17/?utm_source=ig_tumblr_share&igshid=1rdoyn9d4vvon
0 notes
lottahanski · 6 years
Photo
Tumblr media
For once I had the chance so I had to use it... Participated the brandi new Helsinki City 5 event with Silvia and @eyeofmimi. We had a nice walk-run through the beautiful and sunny #Helsinki! At last minute I gave up my bibnumber for a Japanese runner who had not picked up her number on time. Earned many "Arrigatos" with that gesture. Silvia had a tough day: first #Minimarathon and then #HelsinkiCity5 in one day... . #hcrd2018 #helsinkicity5 #arrigato #bibnumber #running #runningevent #fivekm #strollerrun #runwalk #japanese
0 notes
runningkitten · 6 years
Photo
Tumblr media
The evolution of the Spartan Race headbands... from my first cotton one at the Indiana Sprint a few moons ago... #spartan40 #spartanwomen #spartanrace #ocrmaximum #ocraddict #ocr #mudocrs #spartanraceheadbands #whatbib #bibnumber #memories #bibcollection #toomanytocount
0 notes
nitnut · 7 years
Photo
Tumblr media
Up: got my fastest time.. down: his frst time marathon in winter time. 💪💪💪 #run #runner #running #bibnumber
0 notes
Photo
Tumblr media
Race bling
0 notes
Photo
Tumblr media
#runoak #thetownhalfmarathon #dubcity #warriors worlds okayest #runner #musclesanddonuts and yes. My #bibnumber is #666. 😈watch out for me tomorrow! #oakland #halfmarathon
0 notes
wilsworld · 7 years
Photo
Tumblr media
This is probably the lowest #bibnumber I've ever had. And thousands are registered in this race #instawow #charitymiles #nationalparkfoundation #everymilematters #MCM42 #freepmarathon #shenandoahhalf #running #race131Detroit #wilrunsdc #BMRWDC #queens10k #runyourworld #runneroftheweek #instarunners #runforyourlife #findyourpark #NPS100 (at Queens 10k At Flushing Meadows Corona Park)
0 notes
krishvino · 7 years
Photo
Tumblr media
#BIBNumber #8055 #ITPB #5KRun #5KRun2017 #ITPark #Ascendas #HealthyLifeStyle #Bangalore #Run #Healthy #Energy #Water #Gulcose #FreshAir #happiness #Bengaluru (at channsandra Whitefield, Bangalore)
0 notes
tivandic-blog · 7 years
Photo
Tumblr media
Race day isn't the challenging part, it's the reward for the months of hard work while training. Not going to let the heat stop me, I've ran, trained and raced in hotter weather! 😅 #BringItOnTexas 💪🏼☀️#HoustonMarathon #houMarathon #BibNumber (at Chevron Houston Marathon Packet Pick-Up)
0 notes
yzprinter-blog · 5 years
Photo
Tumblr media
Bib Number for Running Competition Full color include cutting #funride #mampumilik #bibnumber #running #cycling #running #sayajual #seremban #jamboree #track #sayajualmurah #funrun #bib #yzprinte #ride #sport
0 notes
idesignthisway · 6 years
Photo
Tumblr media
October is come! @rootsadventures NIGHT race is nearly here!!! Better up the train the next month to get ready!!! Still time to sign up as well if you want to come along for the journey. . #whiskywolfpack #enjoythejourney #ispiremotivationalcoaching #rootsadventures #adventurerace #race #OCR #survivalrace #nightrace #bibnumber #solo #upthegame — view on Instagram https://ift.tt/2L9puXd
0 notes
espinr · 6 years
Text
Implementation of Low-Cost Activ-IoTy Checkpoint in Python  (Bluetooth Keypad)
Update of the ActivIoTy project for the Eclipse Open IoT Challenge.
This is a cheap option to implement an Activ-IoTy compatible checkpoint.
Athletics events are usually controlled by officials with different roles such as: judges, timekeepers and starters. Other competitions must rely on officials with other roles, even volunteers or marshals. This solution enables officials and volunteers to register athletes at checkpoints using a simple physical keypad to type athlete's bib numbers.
Since all athletes must wear a visible bib identifier, this implementation is compatible with the existing rules of official competitions. Keypad may be substituted by a complete keyboard. Of course, the keypad could be a capacitive screen (i.e., tablet, smartphone, etc.) but it is probed that data input operators are more efficient with physical typing devices. Also they may be robust, even waterproof.
This solution only needs a bluetooth input device connected to a Raspberry Pi, or similar.
Tumblr media
The official located nearby the checkpoint type the bib number and press enter to register athletes' checkinw. The system will send the information (bib number + timestamp) of this checkin automatically.
The implementation is based on the module I developed to implement the Checkpoint based on a RFID Reader.
Both approaches implement a generic Reader that performs two main tasks: initialization (setup of the checkpoint) and doInventory.
class Reader(object): def __init__(self): pass def initialize(self): pass def doInventory(self): pass
They also use a common class Checkpoint that implements all the basic functionality of a checkpoint:
Get reliable timestamps from a common NTP server;
Establish a connection with the MQTT server (once it is connected and set-up sends a {checkpointId}/ready message);
Through a Reader, read either bib numbers or RFID EPCs that are related to each competitor (once they are read, they are sent to the MQTT queue under the topic {checkpointId}/checkin);
This is executed in an infinite loop. The controller will be in charge of deal with the messages and do the business logic.
The Checkpoint is implemented using ntplib and paho.mqtt. This is a summary of the code:
# ... imports ... import ntplib import paho.mqtt.publish as publish class Checkpoint(object): TOPIC_READY = 'ready' TOPIC_CHECKIN = 'checkin' def __init__(self, id, reader, mqttBrokerHost, mqttBrokerPort=1883): ''' :param id: String with the identifier of the Checkpoint :param reader: Ind903Reader object (or other Reader) that will do the inventory :param mqttBrokerHost: String with the hostname of the MQTT broker :param mqttBrokerPort: (int) with the port of the MQTT broker (1883 by default) ''' self.id = id self.reader = reader self.mqttBrokerHost = mqttBrokerHost self.mqttBrokerPort = mqttBrokerPort self.timestampOffset = self.getOffsetNTPTime() def checkinCompetitor(self, idCompetitorEPC, idCompetitorBibNumber): ''' Method to be called once a competitor do a check-in. This is a callback method to be send to the reader. It sends a MQTT message to the broker :param idCompetitor: String with the ID of the competitor that the reader detected. ''' competitor = {} if (idCompetitorEPC != None): competitor["epc"] = idCompetitorEPC; if (idCompetitorBibNumber != None): competitor["bib"] = idCompetitorBibNumber; messageCheckin = { "checkpoint" : self.id , "timestamp" : self.getTimestamp(), "competitor" : competitor } topic = self.id + "/" + self.TOPIC_CHECKIN publish.single(topic, json.dumps(messageCheckin), hostname=self.mqttBrokerHost) print(topic + " topic to MQTT:") print(json.dumps(messageCheckin)) def execute(self): messageReady = { "checkpoint" : self.id , "timestamp" : self.getTimestamp() } topic = self.id + "/" + self.TOPIC_READY publish.single(topic, json.dumps(messageReady), hostname=self.mqttBrokerHost) print(topic + " topic to MQTT:") print(json.dumps(messageReady)) self.reader.initialize() self.reader.doInventory(self.checkinCompetitor) def getOffsetNTPTime(self): ''' Get timestamp from a NTP server and stores the offset with the internal clock. :return: (float) with the difference between the local clock and the NTP time (in seconds) ''' c = ntplib.NTPClient() response = c.request('europe.pool.ntp.org', version=3) # convert from seconds since 1900 to seconds since 1970 ntpUnixtime = response.tx_timestamp - 2208988800 timestampOffset = time.time() - ntpUnixtime; return timestampOffset def getTimestamp(self): ''' Returns the local time plus the offset registered at the beginning. :return: long with the current timestamp (unix time) ''' return int(time.time() + self.timestampOffset)
The key part of this code is the execution itself:
def execute(self): ... self.reader.doInventory(self.checkinCompetitor)
When the checkpoint is correctly setup, the reader is asked to start the inventory of runners. Once either a bibNumber (from a keyboard input) or a EPC (from the RFID reader) is detected the checkinCompetitor callback is executed. This method creates the message for the MQTT receivers that will contains the information about the competitor id.
The functionality of this specific checkpoint is implemented using the following main method:
# ... imports if __name__ == '__main__': reader = usb_keypad_reader.USBKeypadReader() checkpoint = checkpoint.Checkpoint('Keypad-1', reader, 'activioty.ddns.net') checkpoint.execute()
This approach may be extended to other checkin mechanisms such as bar-code readers or computer vision analyzers. Perhaps for the next release ;-)
0 notes