TechNet Solutions

TECHNET SOLUTIONS

TechNet PisoHub
Owner's Manual

Coin-powered Wi-Fi and phone rentals.

Everything you need to set up a unit, run it every day, collect your money and fix problems. Written for the owner and operator, in plain steps. Print it (the page is made for A4 or Letter) or keep it on your phone.

How to read it: new unit? Start at chapter 3. Running a shop? Chapters 6 to 9. Something broke? Chapter 13. One page of the essentials: Quick reference.

1. Meet the system

TechNet PisoHub is one coin box that runs two services: PisoWiFi (customer Wi-Fi sold by the coin) and PisoPhone (rental phones, with prepaid time cards for regular players). A unit has three parts that work together:

Coin slottakes the pesos ESP32 coin boxcounts, keeps time OpenWrt routerWi-Fi + internet Rental phonesup to 6 phones (12 on a rental box) Customer Wi-Fitheir own devices

The three Wi-Fi networks

NameForVisible?
PisoKiosk-xxxxYour rental phones. A phone locks itself to this one network only. The ending is made from the router, so a second shop or router never shares it (a router set up before release 1.5.0 is called just PisoKiosk).Hidden; password made by the setup program
PisoCoinBox-xxxxThe ESP32 coin box only. Never give this one out. (Only while pairing it is called PisoCoinBox, the name a new box knows.)Hidden
PisoWiFiCustomers on their own phones and laptops (the name you chose at setup).Open, shows a login page
TipEach unit gets new passwords. The setup program saves them in a summary file and a printable sheet. Keep those safe: they are your records.

2. What you need

3. Setting up your shop

Each TechNet PisoHub unit arrives pre-configured and ready to run. Setting up takes about 5 minutes.

  1. Connect the router to internet. Plug an Ethernet cable from your internet modem into the router's WAN port. Power on the router.
  2. Power the coin box. Plug the power supply into the ESP32 coin box. The box automatically links to its dedicated hidden router network.
  3. Open the management console. Connect your phone or laptop to the shop Wi-Fi and open http://admin.hub (or http://10.0.0.10).
  4. Change the admin password. Sign in using the default credentials and set your shop's private admin password in Settings.
  5. Add your rental phones. Follow chapter 4 to enroll each rental phone as a kiosk.

4. Set up the rental phones

Do this for each phone, starting from a factory-reset phone.

  1. On the setup program's Phones step, choose the slot number. It makes a link filled in with this unit's key.
  2. On the rental phone's first welcome screen tap the same spot 6 times. A QR reader opens.
  3. On your own phone or laptop open the link, tap Show the setup code, and scan it with the rental phone. It joins the Wi-Fi, installs PisoPhone and locks itself.
  4. When the phone says One last step, follow it: usually Open the setting and switch on Allow display over other apps. Android Go phones have no such switch: plug the phone into a computer, tap Allow on "Allow USB debugging?" and use Finish over USB on the setup page (Chrome or Edge).
  5. Open the coin box dashboard (http://10.0.0.10), go to Overview and tap Pair… on that slot.

The slot's status turns from Offline to Locked. Repeat with the next slot. A box handles up to 10 phones.

5. First-day checks

Before you open for customers, do these five checks:

CheckHowExpected
Admin password changedDashboard bannerNo "default password" banner. A default password blocks coins.
Coin countsInsert one peso on the rental phone"Coins inserted: 1" then time starts
Phone locksLet the time run outVoice says "Time expired", the phone locks
Customer Wi-FiJoin PisoWiFi with another phoneLogin page shows the plans
Owner loginLogin page, Scan admin QRYou reach the Vendor tab

The longer test list is docs/REAL_WORLD_TESTING.md.

6. The coin box dashboard

On a device on the router's network open http://10.0.0.10 and sign in with the admin password. There are four tabs and a Sign out button.

Overview

Talking to a renter (voice messages)

Every paired phone in the table has a mic button, whether the phone is online or offline. Hold the mic and speak (up to 15 seconds; it stops by itself at 15). When you let go, the mic becomes a paper plane showing how long the message is: it is recorded and ready. Tap the plane to send it to that phone, which plays it at once with a “Message from the shop” banner, even on the lock screen. The little cross beside the plane throws the recording away. A tap that is too short to be a message is ignored.

One-time setting for recording. Browsers only let a page use the microphone if it is opened with https://, and the box page is plain http:// on your shop network. So once, on each phone or computer you use as the admin, in Chrome:

  1. Give the box a fixed address in your router (a reserved address for the box), so the address never changes. The setting below names that exact address.
  2. In Chrome open chrome://flags/#unsafely-treat-insecure-origin-as-secure.
  3. Type the box page address exactly as you open it, for example http://192.168.1.50, set the option to Enabled and press Relaunch.
  4. Open the box page again and hold a mic; allow the microphone when Chrome asks.

An iPhone cannot record on this page (its browsers have no such setting): use a computer or an Android phone. The box page shown inside the router console (the Rental phones tab) cannot use the microphone either: use the link under it to open the box page on its own.

Settings

SettingWhat it does
Wi-Fi name / passwordThe box's own network settings
Phone app portThe port the phones use to reach the box (leave as is)
Admin passwordAlso the phones' admin PIN. Change the default first.
Coin rate: minutes per ₱1How much time one peso buys on a rental phone
Hardware pinsCoin pin, relay pin and type, LED pin and type. Only change if you wired the board differently.

Tap Save changes after editing.

Tools

Factory resetErases the box's settings and pairings. Write down what you need first.

Vendor

Owner-only. It is locked until you scan your admin QR code. See chapter 9.

Banners you may see

BannerMeaning / what to do
Default admin passwordCoins are blocked until you change it in Settings.
Orphaned paymentsA payment was received but not credited. Tap Review, then Handled once you sorted it out.
Legacy shared key: Switch keyAn older setup. Tap Switch key and re-provision the phones.
Getting started checklistSteps to finish a new unit.

7. How your customers use it

Renting a phone

  1. The locked phone says "Insert a coin to unlock all applications for a N-minute session."
  2. The customer taps READY FOR COIN. The phone arms the slot (up to 20 seconds) and shows WAITING FOR COIN.
  3. They insert coins. The screen shows Coins inserted: N.
  4. They tap the green DONE button. The phone unlocks and the countdown starts.

While playing, a small floating pill shows the time left. Tap it to open a panel:

The phone speaks warnings at 5 minutes, 3 minutes, 1 minute and 10 seconds, then counts down the last five seconds and says "Time expired". It then locks itself. A notice reminds the customer to save their work and sign out of accounts.

Using PisoWiFi on their own device

  1. Join PisoWiFi. The login page opens by itself.
  2. Pick a plan, tap Insert Coin and drop coins. They show with a countdown.
  3. Tap Done (or wait 15 seconds with no coin). They are online, with their time left.

Before they insert a coin the page asks Use now (the default) or Get a voucher code. With a voucher the coins are counted and priced exactly the same, but nobody is connected: the customer gets one code worth the minutes the coins bought, on the plan they picked. They type it under Have a voucher? on the same page, now or within 30 days (a code works once). The page shows the code large with a Copy button, offers a small file to keep (Save voucher file; opening it later brings the code back to the page, and the customer still taps Redeem) and suggests a screenshot, because some phone sign-in browsers do not allow downloads. If the page is closed, the device's start page lists its unused codes again for 30 days. The coins of a voucher are in your sales as soon as they are counted; using the code later adds no income. Switch the choice off in the console under Settings, or with piso-setup voucher-choice off: the page is then as before. The console's Vouchers page lists the vouchers issued (when, minutes, plan, used or not, expiry) and lets you cancel an unused one. There is nothing to print any more; vouchers you printed with an earlier release still work until they expire or are used.

Pause

A customer whose session has paid ₱10 or more in all (top-ups and vouchers add up; PAUSE_MIN_PESOS, 0 = any amount) can pause once per session (PAUSE_MAX); below that the button is hidden and the page says how many pesos more unlock it. A customer with time left can tap Pause time on the coin page: the clock stops and the time is kept for a day. A paused device is not taken off the Wi-Fi; it is slowed to 1 kbit/s (set by PAUSE_KBPS in /etc/coinslot.conf), which is too slow to use but keeps the page, its buttons and its scripts working, and it gets only 2 MB of data for the whole pause (PAUSE_QUOTA_KB, 0 = no limit): when that is used up, openNDS takes the device off until it taps Resume, so nobody chats for free while the clock is stopped. Resume time puts the device back at its plan's own speed and starts the clock again. The console's Customers page marks a paused device as paused. If openNDS ever refuses the slow grant, the device is simply taken off, as pause worked before this release.

Sending a file to the owner

The coin page can show a Send a file to the owner button. It opens a small page (in the same window; the page has a Back link) where a guest picks a document or picture and sends it; no coins, no login. The sign-in window of some phones cannot open files: the page then shows the address to open in the phone's normal browser. The file lands in the Inbox bar of your print server's admin page (Print tab), where you open it for printing or delete it. Nothing is printed by itself. The router only passes the file on (it stores nothing) and the guest never connects to the print server. Limits: 10 MB per file (SEND_MAX_MB), 5 files an hour per device (SEND_PER_HOUR), and the print server's own file-type list and inbox limits; files are deleted from the inbox after 24 hours.

A switch for sites that do not offer printing: in the console under Settings, Send a file to the owner is On or Off. Off hides the button for customers at once (open pages follow) and refuses uploads; the button is also hidden when the key file below is missing, so a site without a print server never shows it.

To turn it on: after installing the print server (release 2.2.0 or newer), copy the content of /etc/webprint/send.key on the print server to /etc/coinslot.d/send.key on the router (one line, mode 600). The button appears within a minute; delete the file to turn it off. If the print server is not at 10.0.0.95, set SEND_HOST in /etc/coinslot.conf.

PosterOn your own computer, python3 scripts/make_wifi_poster.py --ssid "Your Wi-Fi name" makes a printable A4 poster with two QR codes: one joins the Wi-Fi, the other opens the page where customers check their time or enter a voucher.

Only one customer can have the coin window open at a time. The router picks the best combination of plans for the coins paid. Default plans (pesos : minutes), changeable in /etc/coinslot.conf:

TierPlans
Hyper₱5 : 30 min, ₱10 : 60 min, ₱20 : 120 min
Endurance₱1 : 15 min, ₱5 : 180 min, ₱10 : 480 min, ₱20 : 1440 min

8. Time cards (player accounts)

A time card is a printed QR code that holds a customer's minutes, so regulars can bank time and use it on any phone of your unit.

On the phone

  1. On the lock screen tap Have a PisoPhone card? Scan it and hold the card up to the camera. (Switch cameras with Use front camera / Use back camera.)
  2. A new card asks for a name (up to 16 letters or numbers) and says "Welcome! <time> added to your new account."
  3. A returning card says "Welcome back, <name>!" and shows the time on the account.
  4. To stop, the player taps SIGN OUT twice in the pill panel. The unused time is banked and the phone locks.

If the screen stays off 120 seconds while signed in, the player is signed out automatically (a voice warns 30 seconds before). Their time is kept.

Making and selling cards

  1. On your computer make the unit's card key with make_card_key.py, then print cards with make_cards.py. The dashboard's Player accounts section shows your Box ID for printing.
  2. Sell a card for the minutes you wish. Add the time on the dashboard: Player accounts → + Time. Use – Time to remove, Delete to remove an account.
  3. The table shows each card's number and when it was last used.
The card is the keyWhoever holds the card has its time. Tell customers to keep it like cash. Cards are signed so nobody can make a fake one without your card key.

9. Collecting your revenue

The Vendor tab shows your takings. The amounts stay hidden unless you unlock them with your admin QR code.

  1. Open the dashboard, tap Sign out if needed, and on the login page tap Scan admin QR. Photograph your QR code with your phone's camera.
  2. Open the Vendor tab. The revenue unmasks for a 5-minute window.
  3. Open the coin box and take out the money. Count it.
  4. Tap collect to record the collection. The counter restarts, the lifetime total is kept, and the entry goes into the collections history.
  5. Use the split calculator if you share the income with a partner or a host.
Why a QR code?Your code holds a secret key. The box only knows the matching public key, so nobody can read it from the box. The key never leaves your phone; only a signature does. A login session ends after 15 minutes idle or 1 hour at most.

If the count and the cash do not match, check Orphaned payments on the dashboard before you worry.

10. Admin on a rental phone

Opening the admin console

Enter the Master Admin Password. There is no factory PIN: it is your box's admin password, sent to the phone when it pairs. After 5 wrong tries the phone locks the PIN for 60 seconds, doubling after each further miss up to 15 minutes. A phone that never paired cannot be unlocked.

What the console offers

SectionUse it to
5m Direct BypassUnlock the phone for 5 minutes (also opens a maintenance window)
Lock TerminalLock the phone now
Quick Time AdjustmentsAdd or remove a few minutes with the +/– buttons
Direct App UpdateCheck for Update & Install: updates the phone app
Battery Health & TTSVoice reminders when the battery leaves your chosen range; Test Voice Engine; background videos on/off
DiagnosticsVersion, recent events, Refresh, copy for support
Hidden AppsHide apps from customers (Manage Apps). LAUNCH opens a hidden app and starts a maintenance session.

Tap Exit Admin Console when done.

Maintenance window

A timed window (15 minutes normally; 5 minutes for the bypass) in which Settings, Play Store and the package installer work and Wi-Fi settings can be changed. While it is open the lock screen and pill are hidden so the admin apps can be touched. It ends when the timer runs out or the phone locks. Opening a new one never shortens one already open.

Recovery

The PIN dialog has two recovery options:

De-provisionThis removes the kiosk lock for good on that phone. Only do it to retire or repair a phone.

The phone's kiosk Wi-Fi name and password are set during provisioning and cannot be edited on the phone.

11. The router and alerts

The router console (instead of the router's own pages)

Open http://10.0.0.1:8081 on a device on the router's network and sign in with the router password. The screens are listed down the left side in three groups: Overview (Overview, Sales), Management (Customers, Rental phones or Coin box, Vouchers) and System (Branding, Settings); Advanced (the router's own pages) and Sign out are at the bottom, and the sun button at the top right switches between light and dark. On a phone the list is behind the menu button at the top left. It shows what matters:

To make it the front page at http://10.0.0.1, run piso-setup console on on the router. The router's own settings page (LuCI) then moves to http://10.0.0.1:8080 and stays reachable as Advanced; piso-setup console off puts everything back. If the console does not come up, console on puts everything back by itself.

PrivacyThe console shows device names and addresses of your customers, and keeps no history of what they browse. Its speed graph lives in the router's memory only. Put a notice on your login page if your customers' data is covered by privacy rules.

Your shop's own look (Branding)

In the console choose Branding. Type your shop name, pick a palette and, if you like, your own accent colour (the colour of buttons and highlights; a colour that would be hard to see is made lighter for you), choose a layout, and write your texts: a tagline, a welcome line, a promo banner (shown before a customer pays), house rules, a contact line and opening hours. Each text can be written in English and in Filipino; where there is no Filipino text, customers who choose Filipino see your English one. A small preview shows the page as customers see it, and it follows what you type.

Backups and small routers

Joining the hidden PisoKiosk network

Scan the QR on your Wi-Fi join card with a phone camera, or add the network by hand with the name, WPA password and "hidden network" ticked. The card also has a QR that opens the coin box page.

Commands

Log in with ssh root@10.0.0.1, then:

CommandWhat it does
piso-setup statusHealth of everything
piso-setup test-coinSimulate a coin
piso-setup reconcileCompares the box's coin count with the ledger and checks the ledger was not edited (rebase to restart the comparison)
piso-setup telegramSet up Telegram alerts
piso-setup wifi-name / guest-portChange public Wi-Fi name / guest port
piso-setup voucher-choiceTurn "Get a voucher code" at payment on or off
piso-setup brand-pack <file>Install the logo pack TechNet signed for your shop (then press Publish in the console, Branding)
piso-setup pairPair a coin box
piso-setup summary / handoutReprint the passwords sheet / customer handout
piso-setup diag / box-diagDiagnostics for you or for support
piso-setup set-passwordChange the router password
piso-setup lock-adminLock down router administration
piso-setup rotate-box-wifiNew password for PisoCoinBox
piso-setup box-wifi-nameGive the coin box network the router's own name (when status says it is still PisoCoinBox); the box is off its network up to four minutes, coins are kept
piso-setup self-update, update, auto-updateUpdate the router software (see chapter 12)

Telegram alerts message you when the unit needs attention. Set them up once with piso-setup telegram.

12. Updates

WhatHow
Coin boxBy itself. The router checks every hour and installs a new box firmware at a quiet moment (no customer online, no phone with time running). Only firmware you signed is accepted, and the box goes back to the old one if the new one does not start. To do it now: piso-setup box-update (or dashboard → Tools → Firmware update). piso-setup auto-update off stops the automatic part.
RouterBy itself. The router checks every hour and installs a release you signed when no customer is online; it goes back if the release does not run. To do it now: piso-setup update (or send /update in Telegram).
Rental phonesBy itself. A phone set up as the device owner checks every hour and installs a new app while nobody is using it (lock screen showing, no time left). Admin console → Direct App Update → Check for Update & Install does it at once.
You are toldThe router tells you in Telegram when it updates itself or the box. A new router release starts at 0% of the routers, so it only reaches them once you widen it.

13. Troubleshooting

SymptomTry this
Coins are not acceptedCheck for the "default admin password" banner and change it. Then piso-setup test-coin and the relay test in Tools → Maintenance.
Phone shows "HARDWARE CONTROLLER OFFLINE"Is the box powered? Is the phone on PisoKiosk? Locate the phone in Overview to test the link. Restart the box.
Phone shows "DEVICE NOT ACTIVATED"Tap Pair… for that slot in Overview.
Slot shows OfflineCheck phone battery, Wi-Fi in range, then re-pair.
Customer paid but is not online, or the page closed while adding timeThe coins still count: the router finishes the payment by itself. Open status.client to see the time. logread -e coinslot | tail -40 on the router says what happened.
The payment page stays on "Counting coins"It fixes itself: after 3 seconds the page asks the router again, and keeps asking every 3 seconds, so a phone that paused the page gets its result without a reload. After 3 seconds on "Counting coins" a Pull down to refresh if stuck line also appears (customers can pull down or tap it to reload).
Customer Wi-Fi shows no login pagepiso-setup status; check the modem and the WAN cable.
Forgot the admin passwordSign in with your admin QR code (login page → Scan admin QR); from there you can open Settings and set a new one.
Admin QR will not scanLight and distance; the box must be on the same version as the key. Update the box.
Lost or leaked admin QRSee chapter 14.
Setup page will not openSee chapter 3 "Phone cannot open the page".
A customer says time vanishedOverview → Add or remove time to fix it; check Orphaned payments.
Phone stuck and you cannot unlock itAdmin PIN, or use the recovery hub (chapter 10).

When asking for help, send the output of piso-setup diag and the phone's Diagnostics copy.

14. Keeping it safe

Quick reference

I want to…Do this
Open the dashboardhttp://10.0.0.10
Open the routerssh root@10.0.0.1, then piso-setup status
Collect my moneyLogin page → Scan admin QR → Vendor tab (5-minute window) → collect
Add or remove timeOverview → Add or remove time
Open admin on a phoneTap the shield on the lock screen, or hold the pill 5 s → box admin password
Find a phoneOverview → Locate (rings 1 min)
Talk to a renterOverview → hold the mic, let go, tap the paper plane (how)
Update the boxTools → Firmware update → Install update
Add another unitOrder a pre-configured unit → Plug into shop network
Lost my admin QRmake_admin_qr.py --new, commit, update boxes

Numbers to remember

My unit's details: shop ____________   Box ID ____________   Support ____________

Glossary

WordMeaning
Box / coin boxThe ESP32 board with the coin slot
SlotA numbered place for one rental phone (2 are free, up to 12 with license keys)
PairLink a rental phone to its slot on the box
KioskA phone locked so it can only run what you allow
Device OwnerThe Android mode that makes the lock permanent
Admin QRYour private QR code that proves you are the owner
Time cardA customer's printed QR code for a time account
OTAUpdating the box over Wi-Fi

TechNet PisoHub is a product of TechNet Solutions.