My Experiences with Laravel 5.5

  1. First Project / Look : I have had some experience in module writing my company software solution for an Aid Organization. This project was with Laravel 5.1, what the customer wants as a correction or update…
    1. What have I had?
      1. First of all, some pre-installed plugins(from the old developer at company) need to be updated, because these plugins work not nicely or stable.. But isn’t possible, because XYZ Plugin needed higher version another ABC, DEF Plugins, this plugin needed higher version of laravel/framework.  If I framework updated, then you get several errors, because main core functions or classes changed or removed…
    2. Results
      1. My Idea: Bad/Unstable Relase Management.
        1. Solution 1: Dear Customer, these corrections not possible.
        2. Solution 2 : Writing/Modifying  with hand these Plugin Packages.
  2. Second Project : I have developed a Member and SMS Management Software with Laravel 5.5.
    1. What have I had?
      1. Creating a class and setting up Database Tables is very easy, with php artisan command you can easily insert or execute several things. For example:
        php artisan make:controller HomeController --resource

        then this command generated  a controller with CRUD Methods at app/Http/Controllers/HomeController.php.

      2. Mailable Class, Another useful and clean thing.
      3. Eloquent ORM, simple ActiveRecord implementation.
      4. Blade Templating Engine, simple templating engine.
    2. Results:
      1. My Idea: Good for new starting a new Project.
        1. but you need to update at any time, otherwise you have to develop again a project.

Last of all: Good for new Starting a new project, but you have to update at any time. If you can’t do that, choose another Frameworks.

Raspberry Pi Zero W + USB Modem – SMS Gateway

This Article updated on 08.09.2019

Install usb-modeswitch, smstools, wvdial

sudo apt-get install usb-modeswitch usb-modeswitch-data smstools wvdial

Find right device and baudrate with this command;

sudo wvdialconf

…my modem information (modem on ttyUSB1 and baudrate 9600)…

ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyUSB1<*1>: ATQ0 V1 E1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- ERROR
ttyUSB1<*1>: ATQ0 V1 E1 &C1 -- ERROR
ttyUSB1<*1>: ATQ0 V1 E1 &D2 -- ERROR
ttyUSB1<*1>: ATQ0 V1 E1 +FCLASS=0 -- OK
ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer: ZTE INCORPORATED
ttyUSB1<*1>: Speed 9600: AT -- OK
ttyUSB1<*1>: Max speed is 9600; that should be safe.
ttyUSB1<*1>: ATQ0 V1 E1 +FCLASS=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB2<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB2<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyUSB3<*1>: ATQ0 V1 E1 -- OK
ttyUSB3<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 -- ERROR
ttyUSB3<*1>: ATQ0 V1 E1 &C1 -- ERROR
ttyUSB3<*1>: ATQ0 V1 E1 &D2 -- ERROR
ttyUSB3<*1>: ATQ0 V1 E1 +FCLASS=0 -- OK
ttyUSB3<*1>: Modem Identifier: ATI -- Manufacturer: ZTE INCORPORATED
ttyUSB3<*1>: Speed 9600: AT -- OK
ttyUSB3<*1>: Max speed is 9600; that should be safe.
ttyUSB3<*1>: ATQ0 V1 E1 +FCLASS=0 -- OK

Found a modem on /dev/ttyUSB1.
Modem configuration written to /etc/wvdial.conf.
ttyUSB1<Info>: Speed 9600; init "ATQ0 V1 E1 +FCLASS=0"
ttyUSB3<Info>: Speed 9600; init "ATQ0 V1 E1 +FCLASS=0"

Modify your smsd.conf

sudo nano /etc/smsd.conf

my smsd.conf with founded Modem information like:

devices = GSM1
outgoing = /var/www/sms/outbox
checked = /var/www/sms/checked
incoming = /var/www/sms/inbox
logfile = /var/log/smstools/smsd.log
infofile = /var/run/smstools/smsd.working
pidfile = /var/run/smstools/smsd.pid
outgoing = /var/www/sms/outbox

checked = /var/www/sms/checked
failed = /var/www/sms/error
incoming = /var/www/sms/inbox
sent = /var/www/sms/sent
stats = /var/log/smstools/smsd_stats

[GSM1]
#init =
device = /dev/ttyUSB1
incoming = yes
pin = 1234
baudrate = 9600

Create Directory for SMS Sending

sudo mkdir /var/www/sms
sudo mkdir /var/www/sms/inbox
sudo mkdir /var/www/sms/outbox
sudo mkdir /var/www/sms/error
sudo mkdir /var/www/sms/sent
sudo mkdir /var/www/sms/checked
sudo chmod -R 0777 /var/www/sms/

Restart then smstools3

sudo /etc/init.d/smstools restart

For Testing Create a file under /var/spool/sms/outgoing/ Folder. I create like:

echo -e "To: 00491111111111\n\nTest SMS" > /var/www/sms/outbox/testsms.txt

Server configuration and php works coming soon!

sudo mkdir /var/www/sms
sudo mkdir /var/www/sms/inbox
sudo mkdir /var/www/sms/outbox
sudo mkdir /var/www/sms/error
sudo mkdir /var/www/sms/sent
sudo mkdir /var/www/sms/checked
sudo chmod -R 0777 /var/www/sms/

Raspbian Stretch Lite – Setup (Raspberry Pi Zero W)

  • Stretch Lite image

  1. Download Link: https://www.raspberrypi.org/downloads/raspbian/
    1. Choose Raspbian Stretch Lite Download ZIP.
    2. Make unzip this downloaded zip file.
  2. The easiesst way to Flash to your SD Card is Etcher.
    1. Download and install this Software.
    2. After Openning, Select .iso file, and your SD Card and click Flash.
  • How to set up WiFi

Create a file in Boot directory called wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
    ssid="YOUR-NETWORK-NAME"
    psk="PASSWORD"
    key_mgmt=WPA-PSK
}
  • How to enable SSH

Create a file in Boot directory empty file called ssh. For example i have on my computer Git Bash Terminal, with this Terminal type only this command:

 

touch ssh

or second way without

Right Click (on the Empty Area from Screen) -> New -> Text Document, and then rename New Document.txt file like ssh (remove .txt from file name).

 

Thanks:

https://howchoo.com/g/ndg2mtbmnmn/how-to-install-raspbian-stretch-on-the-raspberry-pi

https://howchoo.com/g/ote0ywmzywj/how-to-enable-ssh-on-raspbian-without-a-screen

https://howchoo.com/g/ndy1zte2yjn/how-to-set-up-wifi-on-your-raspberry-pi-without-ethernet

Docker for Local WordPress Development

Create a file  called docker-compose.yml with the following code in your project directory and then enter ‘docker-compose up’ at the command line.

version: "2"
services:
  my-wpdb:
    image: mariadb
    ports:
      - "8081:3306"
    environment:
      MYSQL_ROOT_PASSWORD: verysecret
  mywp:
    image: wordpress
    volumes:
      - ./:/var/www/html
    ports:
      - "8080:80"
    links:
      - my-wpdb:mysql
    environment:
      WORDPRESS_DB_PASSWORD: verysecret