[HN Gopher] City of Bloomington's Raspberry Pi Based Employee Ti...
___________________________________________________________________
City of Bloomington's Raspberry Pi Based Employee Timeclocks
Author : ethanpil
Score : 53 points
Date : 2021-07-08 20:16 UTC (2 hours ago)
(HTM) web link (city-of-bloomington.github.io)
(TXT) w3m dump (city-of-bloomington.github.io)
| jazzyjackson wrote:
| I have a similar project I need to decide how to do, basically
| have the Pi host a website whose data is updated by tapping an
| NFC card.
|
| I can't tell what part of this code interacts with RFID, maybe it
| will give me some ideas of how to do it, is it all happening
| through writing events to a CSV that the web interface reads
| from?
| user3939382 wrote:
| I previously bought this thing:
| https://smile.amazon.com/gp/product/B0155NL3MA
|
| Added ISO 14443 to it via an unused internal USB port I found
| once I cracked it open. Got Dropbear SSH running on the embedded
| Linux it was using. I think I originally rooted it by removing
| its internal SD card and fooling with the file system.
| adolph wrote:
| _Timetrack is a web application to handle an organization 's
| employees' time keeping data. It is designed so that some
| employees will use their ID card to scan their clock-in and
| clock-out times. Others will be able to enter their time-in and
| time-out using the web interface directly. The system is designed
| to have two level approval process. The first is the group
| manager approval then the final approval is the director approval
| named 'Payroll Process Approval'. Currently the application
| handles two weeks pay period._
|
| https://github.com/City-of-Bloomington/timetrack
|
| Edit: I started to wonder, isn't time keeping a solved problem
| with many commercial vendors and maybe even established open
| source? Why would a city roll their own? Does that make them more
| of a hack target (internally developed software weaknesses) or
| less (not being part of a monocoulture of zero-days)? What are
| their plans for long term (20+ years) maintenance?
|
| City-of-Bloomington/timetrack is licensed under the GNU General
| Public License v2.0
|
| https://github.com/City-of-Bloomington/timetrack/blob/master...
| EvanAnderson wrote:
| The time tracking services and software I've worked with make
| their money by scaring employers re: regulatory compliance
| ("Subscribe to our service and we'll keep you legal w/ local HR
| laws...") or by making time tracking part of a larger suite of
| HR products.
| andscoop wrote:
| I don't think it's mentioned explicitly anywhere, but
| Bloomington Indiana is a college town and Indiana University
| has sought after computer science, informatics, business and
| public affairs programs.
|
| I don't know that this is the case, but I'd be surprised if
| this project didn't have student involvement (aka cheap labor)
| that helped justify rolling their own.
| yeuxardents wrote:
| In my experience its one of those solved problems where only a
| handful of products do it well, and well = pretty terrible for
| anyone SMB.
| xupybd wrote:
| Or it's terribly expensive. We just ripped ours out when the
| cost got to $600 USD per month. We were just clocking in and
| out factory workers.
|
| We now use a pen and paper. I've looked at open source
| options, the landscape is not great.
| da_chicken wrote:
| Yes, speaking with experience from a public K-12, timeclocks
| and timekeeping is an industry where $$ gets you something
| that claims to do everything but actually does nothing but
| fail or cause problems, $$$ gets you something that's
| stripped down total crap that can be made to work after
| modest concessions, and $$$$$$$$$ gets you something that
| does what you want reliably.
|
| It's not hard, but everyone who can do it well has noticed
| what their competition is charging and followed suit.
| alias_neo wrote:
| I love the lengths it went to explain how to flash the microSD,
| connect the ribbon cable for the display driver board and then
| skipped over almost everything different and interesting about
| the project.
| xupybd wrote:
| It looks like that page is just a setup guide. At least it's
| linked as a setup guide on the GitHub page.
| tyingq wrote:
| I'm curious how an RFID reader works in a "not clunky" way since
| the application is delivered via a web browser. I'm assuming the
| RFID reader is just showing up as a virtual keyboard in this kind
| of setup.
|
| Do the employees have to click on a form field before swiping
| their badge, etc?
|
| Or maybe there's something like the RFID reader sending an
| unusual keycode that an event handler in the browser can wait
| for?
| zeusk wrote:
| My university had this, and you're right.
|
| When I tap the ID card, it would just blurt out my uni ID
| number in whichever field had the focus.
| Havoc wrote:
| Excellent. I think rasps could do a lot more if knowledge of them
| and basic programming was more common. Plus a ton of my *nix
| learning was rasp based since wiping an SD card is easier than
| having hardware & understanding for VMs.
|
| I do wonder at use of SD card in any sort of production
| environment. I've got half a dozen rasps and a dozen+ sd
| cards...and well it's been patchy. Sometimes it lasts sometimes
| not with no obvious pattern.
|
| I don't mind that SD card are slow AF, but really feel the rasp
| could have been taken to the next level with a better
| (reliability) storage solution.
| dan_quixote wrote:
| I've seen success using RAMDisk instead of running entirely on
| SD card
| 908B64B197 wrote:
| Use it in read-only mode and have durable writes go to the
| cloud. Better, have all your software already packaged to the
| image you'll flash on the SD card.
|
| https://learn.adafruit.com/read-only-raspberry-pi/
| spicybright wrote:
| Too bad it's a Pi inside. Give it a few years and most will fail
| from bad SD cards... A cheap consumer tablet will keep ticking
| for years.
| amiga-workbench wrote:
| Can't the Pi boot off a network?
| syntheticnature wrote:
| Indeed it can!
| jazzyjackson wrote:
| ...so it's a good thing the part that wears out is the easiest
| thing in the world to replace, right?
| SahAssar wrote:
| Cheap tablets use eMMC so they use the exact same storage
| technology with the same problems.
| qbasic_forever wrote:
| You can directly boot a Pi from USB now with the Pi 4. Switch
| to a SSD and you won't worry about SD card corruption as much.
| The bigger issue is that you need to cleanly shutdown any
| embedded system instead of just yanking or hard cutting power--
| flash memory and filesystems need time to sync. The Pi is no
| more or no less susceptible to this problem.
|
| Also you're comparing to a tablet, a device with a _built in
| battery_ that prevents hard power loss in 99% of circumstances.
| Just because you press the power button on your tablet does not
| mean it is immediately cutting power to the device. If you add
| a battery backup and soft power switch to the Pi you would be
| just as reliable as a tablet. If you remove the battery from a
| tablet and hard cut the power, you can just as easily corrupt
| its flash memory filesystem.
| nightfly wrote:
| Any serious embedded system should designed with minimal
| writable data: ro os and minimal writable data partitions.
| And at a minimum do manual syncs. Hopefully using a data
| storage system that in the worst case you lose a few records
| devmor wrote:
| Oh no, an easily-replaceable $10 part will fail instead of
| having to pay a vendor thousands to replace an entire unit?
| What a problem.
| recursive wrote:
| So it will fail after the same length of time that a consumer
| tablet will keep ticking?
|
| FWIW, I use an ipad to enter a code at my kids' pre-school. The
| screens are frequently messed up.
| rubicks wrote:
| What happens when one of these devices is admitted as trial
| evidence? Is there a hardware root of trust that can be used for
| cryptographic verification? Has anyone succeeded in doing trusted
| boot on a Raspberry Pi?
| thedanbob wrote:
| I made similar units for my org to replace the old iPod Touch
| units, most of which were suffering from swollen batteries. The
| cheap touchscreens I used tend to only last a year or two but
| they're only ~$30 on Amazon. So far no SD cards have failed.
| EvanAnderson wrote:
| Time clocks are a terrible racket. The hardware is ridiculously
| overpriced, and most of of the units I've seen are tremendously
| low-tech (a microcontroller w/ a no-name serial-to-Ethernet or
| serial-to-Wi-Fi board strapped to it). They speak ugly
| undocumented binary protocols and, increasingly, are tied to ugly
| web-based hosted subscription services.
| swamp40 wrote:
| What is your idea of a beautiful protocol/method?
| EvanAnderson wrote:
| Something documented. Binary is fine. Text is fine. Document
| it.
| xnyan wrote:
| Often once it's established that X costs Y, it's very easy to
| just keep writing the check especially when it's probably not a
| huge expense relative to revenue and the risk of getting in
| trouble if the change goes wrong.
|
| In this specific case, I worked with one of the large
| manufacturers (hi Khronos) and this is their customer:
| clocking-in is not your business, your business is selling
| something or running a hospital or whatever and clocking-in is
| a problem you that want to solve by writing a check. Not by
| hiring staff to set up or replace broken units (you generally
| pay a vendor for this) or adding any other overhead to your
| operation besides a check, and this is a service Khronos would
| love to charge you for.
|
| Also on a human level, Khronos and orgs like them tend to have
| a good sales staff that are talented at knocking on the door.
| Lower-margin sellers can't afford to compete with the
| (expensive) talents of a good salesperson. Cisco is the gold
| standard of this behavior, there are almost always cheaper
| options that will work as well, but as they say, nobody got
| fired for buying IBM/Cisco and their sales reps skillfully
| deploy steak dinners and golf trips to IT execs with great
| success.
___________________________________________________________________
(page generated 2021-07-08 23:00 UTC)